Forum Moderators: phranque
Not much on google on this, any ideas?
Gentoo Linux 4d 2.6.10-gentoo-r6 #1
PHP 5.0.5-pl5-gentoo
Mysql 4.0.22
eAccelerator 0.9.4-rc1
Thanks,
Will
Summary: "Broken pipe: write pipe_of_death" after graceful restart
Product: Apache httpd-2
Version: 2.0.55
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: prefork
AssignedTo: bugs@httpd.apache.org
ReportedBy: gacek@intertele.plIn prefork MPM:
First graceful restart works OK.
But after invoking second (and later) graceful restart, apache is unable to kill
children by POD. Logs are filled with:[Wed Dec 14 11:54:29 2005] [warn] (32)Broken pipe: write pipe_of_death
[Wed Dec 14 11:54:30 2005] [warn] (32)Broken pipe: write pipe_of_death
[Wed Dec 14 11:54:31 2005] [warn] (32)Broken pipe: write pipe_of_deathBug present in 2.0.54, 2.0.55, compiled from source.
Several Linux bugzillas make mention of it very recently, but the ones I've seen are either "Closed, Won't Fix" or as above.
Here's a decent link [hypermail.linklord.com] that includes a patch from back in March '03.
what I see with HEAD is that the pipe gets file descriptor 2 (stderr), and we later make sure that the error log is file descriptor 2, resulting in one side of the pipe getting closedI would guess that some other changes with closing descriptors let us get fd 2 for one of the pipe handles, and that this conceivably could have happened with all sorts of code changes.
Not much help, I'm afraid.
Turned out it was related to Eaccelerator. When it comes across a file that we havent narrowed down yet, for some reason it doesnt like it cache gets screwy and causes apache to start having child pid errors.
Resetting the cache fixes it until it hits the file.
Now to track down the file -- tough without decent error tracking for the problem
Thanks for all the help on this site!