Open Arkham opened 7 years ago
Hi @Arkham, thanks for bringing this up 🙂 I'll take a look at this. On a first glance, it definitely looks like an error on our side 😅
I've identified the issue.
Every 5 seconds, one of erlangpl's processes asks "spy" process on the remote node for data gathered for last 5 seconds:
%% apps/epl/src/epl_tracer.erl:231
RPid ! {Ref, self(), ...}
After that it waits for the response in receive
block:
%% apps/epl/src/epl_tracer.erl:233-274
receive
{Ref, ...} ->
after 5000 ->
?ERROR("timed out...")
end
This is why we see log message in the console: "ERROR: timed out...".
The process crashes because "spy" process manages to send requested data back but after 5 seconds, when we are not in receive
anymore, thus we get the message in handle_info
, which is implemented like:
handle_info(Info, _State) ->
exit({not_implemented, Info}).
So there is a slight race condition 😅 . I'm surprised it didn't come out earlier. Thanks once again @Arkham 🙂 👍
Still getting this in the latest version on the site:
** {{timeout,{gen_server,call,
['my_server@127.0.0.1',{unsubscribe,<0.223.0>}]}},
[{gen_server,call,2,[{file,"gen_server.erl"},{line,206}]},
{epl,'-unsubscribe/0-lc$^0/1-0-',1,[{file,"src/epl.erl"},{line,72}]},
{gen_server,try_terminate,3,[{file,"gen_server.erl"},{line,648}]},
{gen_server,terminate,10,[{file,"gen_server.erl"},{line,833}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
ERROR: timed out while collecting data from node
=ERROR REPORT==== 14-Aug-2017::08:40:23 ===
** Generic server 'my_server@127.0.0.1' terminating
** Last message in was timeout
** When Server state == {state,[<0.231.0>,<0.218.0>,<0.110.0>,<0.109.0>,
<0.108.0>],
#Ref<0.2322663479.1295253506.33638>,
<7310.27986.10>,11}
** Reason for termination ==
** {bad_return_value,{stop,{max_timeout,'my_server@127.0.0.1'}}}
Me too, as of today. :/
Hi guys,
I was trying out EPL to visualize a Flow experiment. You can find the code here: https://github.com/Arkham/flow_lightning
If I try to connect EPL to the running node I get this error a lot of times
And after that the
epl_tracer
crashes with this message