[erlang-questions] Segfault with Erlang R22

Mikael Pettersson mikpelinux@REDACTED
Fri Oct 18 20:02:35 CEST 2019


On Fri, Oct 18, 2019 at 4:34 PM Bekes, Andras G
<Andras.Bekes@REDACTED> wrote:
>
> Hi All,
>
>
>
> After upgrading to Erlang R22, my software crashes the Erlang VM with Segmentation fault.
>
> It happens rarely, only after several days of test workload, so I can’t really reproduce.
>
>
>
> I made more than 10 core dumps so far, loaded them into gdb, and all of them died at these 2 crash points:
>
>
>
> Program terminated with signal 11, Segmentation fault.
>
> #0  process_main (x_reg_array=0x20002, f_reg_array=0x2ade29280590) at x86_64-unknown-linux-gnu/opt/smp/beam_hot.h:4064
>
> 4064      if (is_not_tuple(r(0))) {
>
>
>
> or
>
>
>
> #0  process_main (x_reg_array=0x20002, f_reg_array=0x2) at x86_64-unknown-linux-gnu/opt/smp/beam_hot.h:5252
>
> 5252          c_p->seq_trace_lastcnt = unsigned_val(SEQ_TRACE_TOKEN_SERIAL(c_p));
>
>
>
> The software is not doing any tracing when the crash happens, nor does it have any NIFs.

I think you should open a bug report in the erlang bug tracker.

The second crash site above is in the remove_message() function, in a
block where ERL_MESSAGE_TOKEN(msgp)
is neither NIL nor am_undefined, but SEQ_TRACE_TOKEN(c_p) is invalid
(not the expected 5-tuple).

Maybe printing *c_p in gdb when that happens could shed some light.

/Mikael



More information about the erlang-questions mailing list