Observer crashing when switching nodes

Im using Elixir 1.17.2 and Erlang 27

I followed the tutorial to connect the Observer to my application. Everything worked as expected and I was able to connect to the node, and the Observer opened successfully. However, when I change the node in the Observer’s menu, I receive the following error and the Observer crashes.

[error] ** wx object server #PID<0.125.0> terminating
** Last message in was {:active,
:“”}
** When Server state == {:sys_wx_state, #PID<0.120.0>, :“my_remote@linux”,
{:wx_ref, 51, :wxNotebook, }, {:wx_ref, 52, :wxPanel, },
{:wx_ref, 53, :wxBoxSizer, }, :undefined,
[
[
{:wx_ref, 65, :wxStaticText, },
{:wx_ref, 73, :wxStaticText, },
{:wx_ref, 81, :wxStaticText, },
{:wx_ref, 89, :wxStaticText, },
{:wx_ref, 97, :wxStaticText, },
{:wx_ref, 105, :wxStaticText, },
{:wx_ref, 113, :wxStaticText, },
{:wx_ref, 121, :wxStaticText, }
],
[
{:wx_ref, 138, :wxStaticText, },
{:wx_ref, 146, :wxStaticText, },
{:wx_ref, 154, :wxStaticText, },
{:wx_ref, 162, :wxStaticText, },
{:wx_ref, 170, :wxStaticText, },
{:wx_ref, 178, :wxStaticText, }
],
[
{:wx_ref, 198, :wxStaticText, },
{:wx_ref, 206, :wxStaticText, },
{:wx_ref, 214, :wxStaticText, },
{:wx_ref, 222, :wxStaticText, },
{:wx_ref, 230, :wxStaticText, },
{:wx_ref, 238, :wxStaticText, }
],
[
{:wx_ref, 255, :wxStaticText, },
{:wx_ref, 263, :wxStaticText, },
{:wx_ref, 271, :wxStaticText, },
{:wx_ref, 279, :wxStaticText, }
],
[
{:wx_ref, 299, :wxStaticText, },
{:wx_ref, 307, :wxStaticText, },
{:wx_ref, 315, :wxStaticText, },
{:wx_ref, 323, :wxStaticText, },
{:wx_ref, 331, :wxStaticText, }
]
], {true, 10}}
** Reason for termination ==
** {:function_clause,
[
{:proplists, :get_value,
[
:otp_release,
{:error,
{:error, {:exception, :undef, [{:observer_backend, :sys_info, , }]}}},
:undefined
], [file: ~c"proplists.erl", line: 214]},
{:observer_lib, :fill_info, 3, [file: ~c"observer_lib.erl", line: 197]},
{:observer_lib, :fill_info, 3, [file: ~c"observer_lib.erl", line: 237]},
{:observer_sys_wx, :update_syspage, 1,
[file: ~c"observer_sys_wx.erl", line: 98]},
{:observer_sys_wx, :handle_info, 2,
[file: ~c"observer_sys_wx.erl", line: 192]},
{:wx_object, :handle_msg, 5, [file: ~c"wx_object.erl", line: 683]},
{:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]}
]}

Any ideas?

Found the solution.

Since 1.15, Elixir prunes unused code paths. Adding the following in the mix.exs is needed to open observer:

extra_applications: [:logger, :observer]

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.