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=21645>. 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=21645 Child processes die after each request ( after connection is closed) on OpenBSD ------- Additional Comments From [EMAIL PROTECTED] 2003-07-16 15:58 ------- I tried to track down this problem a bit further: When the problem occurs, child_main() (prefork.c) always exits after serving the first request. More specifically, die_now is set to 1 after ap_mpm_pod_check() in line 704, every time. I am not familiar with the Apache source code. However, as far as I can tell, this means that the parent found too many idle children during perform_idle_server_maintenance() and killed one by sending something through the "pipe-of-death". We are still not entirely sure how to reproduce this problem. Last time, we could reproduce it by making lots of request so that many childs are spawned, then waiting until Apache starts to kill some of the idle ones. Suddenly, the server *always* killed each and every child after the first request. I am also not sure if I understand the way the parent kills an idle child (prefork.c, perform_idle_server_maintenance, line 889). The line simply says this: ap_mpm_pod_signal(pod); Does this mean that there is only a single pipe shared between the parent and all children? For example, could it happen that the data sent through the pipe gets "stuck" and returned to each child on a read? (I'm asking because this seems to be a platform-specific problem on OpenBSD - perhaps OpenBSD behaves differently or is simply bugged?) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
