Red Hat Bugzilla – Bug 98545
Handle errors when starting piped logged processes
Last modified: 2007-04-18 12:55:28 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Description of problem:
After changing from SuSE 6.0 (sic!) to Red Hat 9 which included a migration
from Apache 1.3.11 to 2.0.40, I now recognize Apache spawning many many
processes (up to about 180). This takes a few hours (3 or 4), and Apache is
then unable to serve pages any more.
While migrating my old httpd.conf I kept the original Red Hat httpd.conf and
added my virtual host directives (58 virtual hosts).
My current workaround is a cron job which is run every 5 minutes and which
counts the number of httpd processes. If there are more than 100, it
runs "/etc/init.d/httpd restart".
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Simply start Apache!
Created attachment 92737 [details]
Created attachment 92738 [details]
One of the virtual host files which are included by /etc/httpd/conf/virtual.conf (see last line of httpd.conf)
You have "MaxClients" set to 150, so I'd expect a maximum of 150 processes to be
spawned if your server is under load. If you want to have a maximum of 100
in the prefork.c section.
Indeed, there will be only 100 processes. But the same happens again: When
Apache reaches 100 processes, it is unable to serve pages. I reduced MaxServers
to 50, and Apache hangs when it reaches 50 processes.
Ah, can you try changing in your virtual.conf (and anywhere else you are using
there is a bug in the error handling when a piped logs process fails to start up.
(if you're migrating an httpd.conf from 1.3 you should also read through the
migration guide at /usr/share/doc/httpd-2.0.40/migration.html)
That's it! Thanks a lot. You can close this bug.
OK, great. I'm going to leave this bug open to track the fact that this config
error was not clearly diagnosed when it should have been, so that can be fixed
in a future erratum. Thanks for the report.
An errata has been issued which should help the problem described in this bug report.
This report is therefore being closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, please follow the link below. You may reopen
this bug report if the solution does not work for you.