stud
stud copied to clipboard
Child was terminated by signal 6
all of a sudden I'm seeing child terminations with a SIGABRT, but I have no idea why. I checked file descriptors and that seems fine, it just started yesterday and it wasn't during any traffic peak.
This is the log output:
{core} Child 13897 was terminated by signal 6. Replacing...
This is the last lines of strace of a terminated child:
read(244, "\254%\350*KC\234n\206\376\224g\7\332A\220\235\317^\232\354o\231\206i-\265\361\363~1E"..., 656) = 656
read(1894, "\27\3\0\0\340", 5) = 5
read(1894, "+\365Z\200\345>x\225k\324\3\261CL\20\320\216\201;FDY\262\25\237\301\344\201\367\267\306\212"..., 224) = 224
read(1866, "\27\3\0\0\340", 5) = 5
read(1866, "N\265\246\302|\200\326e\230\2111\314\226/\212\17\6\357\303\303\255?*\231u\3474v\205\231\216\331"..., 224) = 224
accept(4, 0xbfb4b2dc, [128]) = -1 ECONNABORTED (Software caused connection abort)
write(2, "stud: stud.c:1144: handle_accept"..., 146) = 146
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(6982, 6982, SIGABRT) = 0
--- SIGABRT (Aborted) @ 0 (0) ---
Process 6982 detached
any idea how to get more information? I'm running the latest stud.
There is no reference to abort(3) in source code... Do you have ECC memory?
no idea, it's happening on a EC2 instance
My guess is this assertion is failing, which is raising the signal 6:
assert(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN);
You could find out what's going on by inserting a
perror("unusual accept failure:");
above that line in handle_accept(), and then we can get more information on what's going on with this ec2 instance.