Return-Path: Delivered-To: apmail-httpd-users-archive@www.apache.org Received: (qmail 39828 invoked from network); 4 Dec 2005 01:28:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Dec 2005 01:28:49 -0000 Received: (qmail 87630 invoked by uid 500); 4 Dec 2005 01:28:38 -0000 Delivered-To: apmail-httpd-users-archive@httpd.apache.org Received: (qmail 87616 invoked by uid 500); 4 Dec 2005 01:28:37 -0000 Mailing-List: contact users-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: users@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@httpd.apache.org Received: (qmail 87589 invoked by uid 99); 4 Dec 2005 01:28:37 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 03 Dec 2005 17:28:37 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [62.169.208.215] (HELO aphrodite.xrepa.net) (62.169.208.215) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 03 Dec 2005 17:28:36 -0800 Received: from [62.169.195.135] (magos.xrepa.net [62.169.195.135]) by aphrodite.xrepa.net (8.13.0/8.13.0) with ESMTP id jB41SBRV030713 for ; Sun, 4 Dec 2005 03:28:12 +0200 (EET) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <2C83B695-9101-41C8-9FAC-90F79C892E7C@trwn.gr> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: users@httpd.apache.org From: Fotos Georgiadis Date: Sun, 4 Dec 2005 03:28:05 +0200 X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org Subject: [users@httpd] Apache2 weird forks (owned by root) X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hello! A strange problem occurs in our apache 2 installation. I have the prefork MPM where the expected (and documented) behavior is one root process open for managing the privileges ports (etc.) that spawns children, with the privileges of the User and Group directives specified (www-data in my case), in order to serve the requests. Well, in our system what happens in that the children also have root privileges despite the User www-data option. But what is more strange is that this doesn't happen all the time. Sometimes the server starts with 3 children owned by www-data and the rest 2 (out of a MinSpareServers 5) are owned by root. The number varies between restarts from all owned by root to all owned by www-data. (Don't mention the security implications of the situation). Processes owned by root are not serving pages (nor that I would want the root user to serve pages...), and that means the capabilities of the server are reduced. When all processes are owned by root, and a client opens a connection it hangs there indefinitely. When only 1 or 2 processes are owned by www-data the server is really slow, otherwise it behaves nicely under a moderate load. Also issuing a reload (apache2ctl graceful) seems to zombie the child processes and only SIGKILL can make them rest in peace. The problem possibly lies in the forking section of apache 2. Killing the root- owned children spawns new, sometimes owned by root, sometimes owned by www-data. Killing enough root processes eventually allows us to have all processes owned by www-data! Now that I explained the situation and the problem, details about the system follow: Debian Sarge (3.1) up to date Standard debian package for apache 2: % apache2ctl -V: Server version: Apache/2.0.54 Server built: Sep 5 2005 11:15:09 Server's Module Magic Number: 20020903:9 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="" -D SUEXEC_BIN="/usr/lib/apache2/suexec2" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf" Using the prefork MPM as already mentioned. Server signature and other modules: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_ssl/2.0.54 OpenSSL/0.9.7e Server The configuration is a mixed IP-Based (using ip aliasing) and Name- Based Virtual Hosting, with SSL enabled. Details (and full configuration) can be given as requested. The configuration is not the problem as the problem occurs even with no sites enabled. Also the server works as advertised, excluding the problem I mentioned. The only "custom" thing on the server is the kernel which is Linux 2.4.30 (being a Dell server it wouldn't boot with a debian vanilla kernel). But I fail to see how the kernel can be a problem in this situation (since every other service works perfectly (and there are a lot)). It look like a race condition problem. This on a SMP machine (Xeon @ 3.2Ghz, with 1GB ram), otherwise stable as a rock. I already searched the archives and couldn't find anything similar. Perhaps I should also post a bug report here (oneline): http://bugs.debian.org/cgi-bin/pkgreport.cgi? \ which=pkg&data=apache2&archive=no&version=&dist=stable but I don't know if this is debian specific or an apache 2 problem. That's all I can think of. Has anybody seen something similar? Any developer comments? How can I help you trace this (ugly) bug? Thanks in advance for reading all this (*wow* thats big)! -fot PS. On a side-note, as a joke we started placing bets on how many www- data owned processes there will be on the next apache 2 restart! :) :) --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See for more info. To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org " from the digest: users-digest-unsubscribe@httpd.apache.org For additional commands, e-mail: users-help@httpd.apache.org