[erlang-questions] Erlang node core dumps

Per Hedeland per@REDACTED
Fri Oct 14 23:37:22 CEST 2016

On 2016-10-13 19:28, Akash Chowdhury wrote:
> I am getting following core dump (log when core was loaded using gdb)
> Core was generated by `/apps/erlang/19.0/lib/erlang/erts-8.0/bin/beam.smp
> -K true -P 2000001 -A 15 -W'.
> Program terminated with signal SIGKILL, Killed.

SIGKILL is, when not the result of a frustrated and/or incompetent user,
the hallmark of the Linux OOM (Out Of Memory) killer, called upon when
the Linux kernel's habit of giving out more memory than it actually has
available comes back to bite it in the *ss, and obliging by randomly
killing perfectly innocent processes. Sort of...

But there is something very wrong here, since SIGKILL should *not*
generate a core dump, and since it is uncatchable, there's no way an
application such as the Erlang VM can *make* it generate a core dump.
Thus I'm leaning towards a comment from a quick googling, which I from
experience know to have some merit: "Don't trust gdb". I.e. the core
dump may actually be somehow corrupt, and the SIGKILL info simply wrong.

In any case *if* you are running Linux, and the OOM killer hit you, it
should be logged in /var/log/messages or the like.

> #0  0xffffffff7dddc1a0 in __pollsys () from /lib/64/libc.so.1
> #1  0xffffffff7ddcaf54 in _pollsys () from /lib/64/libc.so.1
> #2  0xffffffff7dd75f7c in pselect () from /lib/64/libc.so.1
> #3  0xffffffff7dd76320 in select () from /lib/64/libc.so.1

Hm, select() - I guess you are *not* running Linux? Anyway, this does
not seem to me to be an issue with the Erlang VM, but rather with your
OS / system.

--Per Hedeland

More information about the erlang-questions mailing list