SIGCHLD crashes beam

Daniel Goertzen <>
Thu May 18 19:25:50 CEST 2006


I am trying to make a cross compiled erlang work, x86_64 to x86.  It appears to compile fine but segfaults as soon as I run "erl" from the command line.

After some tracing, I note that the beam process segfaults immediately after receiving a SIGCHLD.  The SIGCHLD is created by an exiting inet_gethost process.


This signal handler does *not* appear to run:


erts/emulator/sys/unix/sys.c:843

/* Handle SIGCHLD signals. */
#if (defined(SIG_SIGSET) || defined(SIG_SIGNAL))
static RETSIGTYPE onchld(void)
#else
static RETSIGTYPE onchld(int signum)
#endif
{
#if CHLDWTHR
    ASSERT(0); /* We should *never* catch a SIGCHLD signal */
#else
    children_died = 1;
#endif
}




I note that check_children() at line 3283 does get called some time
prior to crashing.

I am continuing to debug, but I thought I'd throw this out now in case
anyone can recognize what is happening and help me out.  Version is R10B-10.

Thanks,
Dan.






More information about the erlang-questions mailing list