On Sat, Feb 15, 2014 at 02:14:50PM -0500, Wietse Venema wrote: > Viktor Dukhovni: > > if (!NORMAL_EXIT_STATUS(status)) { > > + /* Debugged processes may be reported to master(8) as stopped */ > > + if (WIFSTOPPED(status)) { > > In that case it would be prudent to log what happens: > > msg_warn("process %s pid %d stopped with signal %d", > serv->path, pid, WSTOPSIG(status)); > > + continue; > } > > if (WIFEXITED(status)) > > msg_warn("process %s pid %d exit status %d", > > serv->path, pid, WEXITSTATUS(status)); > > If I understand correctly, some buggy kernel reports WIFSTOPPED > events to the Postfix master daemon (the smtpd parent process) > instead of gdb (the smtpd tracing process).
This is a plausible guess. Somehow by the time smtpd(8) really exited, master(8) had already removed it from the child process hash table, and a missing WIFSTOPPED() case is a somewhat plausible explanation. > What OS version are you using? Perhaps I can reproce that bug with > a small test program. The first test could be with Postfix, "smtpd -D" and debugger_command exactly as posted, to see whether we can reproduce at least the reported symptoms. Then onward with small programs, ... -- Viktor.