From 2b1fa1711b0cc8f0221393959cb075a89717cb6c Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Wed, 12 Jun 2024 17:04:52 +0800 Subject: [PATCH] fix: observer command crash when can't find object code --- apps/emqx_modules/src/emqx_observer_cli.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/emqx_modules/src/emqx_observer_cli.erl b/apps/emqx_modules/src/emqx_observer_cli.erl index 9359392c6..043b1430e 100644 --- a/apps/emqx_modules/src/emqx_observer_cli.erl +++ b/apps/emqx_modules/src/emqx_observer_cli.erl @@ -46,8 +46,13 @@ cmd(["load", Mod]) -> Nodes -> case emqx_utils:safe_to_existing_atom(Mod) of {ok, Module} -> - Res = recon:remote_load(Nodes, Module), - emqx_ctl:print("Loaded ~p module on ~p: ~p~n", [Module, Nodes, Res]); + case code:get_object_code(Module) of + error -> + emqx_ctl:print("Module(~s)'s object code not found~n", [Mod]); + _ -> + Res = recon:remote_load(Nodes, Module), + emqx_ctl:print("Loaded ~p module on ~p: ~p~n", [Module, Nodes, Res]) + end; {error, Reason} -> emqx_ctl:print("Module(~s) not found: ~p~n", [Mod, Reason]) end