DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19985>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19985

prefork children dying, parent unresponsive





------- Additional Comments From [EMAIL PROTECTED]  2003-05-17 10:37 -------
Random notes:
You can't get coredumps on Linux when Apache 1.3 is started as root anyway
unless the code has been modified to call prctl().  You might wish to load this
module -- http://www.apache.org/~trawick/mod_prctl.c -- and also make sure
CoredumpDirectory points to a child-writable directory.

Regarding your comment:

>  2) compiled out mod_status/mod_info and turned off the shared memory 
>scoreboard  (an mod_status was showing all channels in the G state after a 
>restart so I was thinking if shared memory is corrupted).

There is always a shared memory scoreboard on modern boxes, and it is always
critical to proper operation.  If you don't have "ExtendedStatus On", less time
is spent writing detailed status to it, but if there is a problem with shared
memory you will crash and burn with or without mod_status.

Did all channels stay in G (gracefully restarting) state indefinitely?

>I used strace and its showing ECHILDs...
>
>select(0, NULL, NULL, NULL, {0, 910000}) = 0 (Timeout)
>time(NULL)                              = 1053112603
>wait4(-1, 0xbffffc2c, WNOHANG, NULL)    = -1 ECHILD (No child processes)

This is perfect behavior for the parent...  wake up every second, see if any
child processes have exited, repeat.

>Here's proof that only the parent was alive:

I don't see the proof.  Presumably you used ps to get a list of all processes
and from that determined that there were no children?  Or is one of the fields
in the ps output the number of child processes?

If no child processes: Was parent not notified of child process exiting when it
called waitpid()?  Or did parent see the notification but hit some error and
lose track?  Running strace on the parent up until everything hits the fan
should indicate whether or not the parent found out that the child processes
exit and what action it attempted to take.

Also, any confirmation you can provide to the hypothesis that 3rd party patches
to Apache code are required to see the breakage would be helpful.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to