[erlang-questions] Seeing inet:start_timer badarg crash

Dominic Morneau dmorneau@REDACTED
Sat Oct 13 03:39:48 CEST 2018


Hi Vince,

That’s a bug introduced in:
https://github.com/erlang/otp/pull/1694

It happens when using an epmd_module that doesn’t implement the optional
address_please callback.

You can work around it by implementing address_please inside your
EpmdClient module exactly like this:
https://github.com/erlang/otp/blob/OTP-21.0.3/lib/kernel/src/erl_epmd.erl#L174

Then inet_tcp_dist will pick up your implementation rather than the default
case, which is broken because inet.getaddr/3’s last argument is not an
address family, it’s a timeout:
https://github.com/erlang/otp/blob/OTP-21.0.3/lib/kernel/src/inet_tcp_dist.erl#L450
https://github.com/erlang/otp/blob/OTP-21.0.3/lib/kernel/src/inet_tcp_dist.erl#L289

Dominic

2018年10月12日(金) 5:58 Vince Foley <vincefoley@REDACTED>:

> Hello there, I'm seeing some crashes in my logs since updating to OTP 21
> that I can't quite track down...
>
> The exit value looks like this:
>
> {
>   :badarg,
>   [
>     {:erlang, :start_timer, [:inet, #PID<0.17713.363>, :inet], []},
>     {:inet, :start_timer, 1, [file: 'inet.erl', line: 1763]},
>     {:inet, :getaddr, 3, [file: 'inet.erl', line: 591]},
>     {:inet_tcp_dist, :do_setup, 7, [file: 'inet_tcp_dist.erl', line: 289]}
>   ]
> }
>
> It looks like something is going wrong in the distributed node connection
> system. The result that I can see from this is that the nodes are no longer
> able to connect to each other.
>
> I am using a mechanism other than the standard `epmd` to discover the
> other nodes, so I'm wondering if a detail changed that I have to adapt to.
> I'm using `-epmd_module`. The mechanism I'm using is described in this
> article:
>
>
> https://www.erlang-solutions.com/blog/erlang-and-elixir-distribution-without-epmd.html
>
> That might be related but I don't quite see how. Does anyone have any
> ideas what might be happening here?
>
> Thanks!
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20181013/04375b62/attachment.htm>


More information about the erlang-questions mailing list