I am an Erlang beginner, learning OTP.
I received a noproc
error when trying to talk to a supervisor in runtime. In fact, that supervisor's start_link
(implemented by me, not supervisor:start_link()) seemed not to be executed, as the io:fwrite
in its first line wasn't even put out.
It turned out the issue was that one of the supervisor's children was missing some gen_server
callback functions (which were not used by the application). The compiler logged a warning about that and that's it, no errors when I started the application. I'm not sure what is going on, but shouldn't there be some error indication happening?
In case it's important, that's how the child spec of the supervisor itself looks like:
ElementSup = {sc_element_sup,
{sc_element_sup, start_link, []},
permanent, 2000, supervisor, [sc_element]},
$ erlc -o ebin src/*erl
, the source is the application at : github.com/erlware/Erlang-and-OTP-in-Action-Source/blob/master/… , I left out the last four callback functions. – Nikita Fuchs