Return-Path: X-Original-To: apmail-httpd-dev-archive@www.apache.org Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E945810CE3 for ; Wed, 11 Sep 2013 11:27:46 +0000 (UTC) Received: (qmail 166 invoked by uid 500); 11 Sep 2013 11:27:45 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 99647 invoked by uid 500); 11 Sep 2013 11:27:45 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 99638 invoked by uid 99); 11 Sep 2013 11:27:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Sep 2013 11:27:45 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of andriy.gapon@hybridcluster.com designates 37.59.20.28 as permitted sender) Received: from [37.59.20.28] (HELO hybrid-sites.com) (37.59.20.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Sep 2013 11:27:38 +0000 Received: from [127.0.0.1] (helo=node039.hybrid-sites.com) by hybrid-sites.com with esmtp (Exim 4.80.1 (FreeBSD)) (envelope-from ) id 1VJiZk-000DW0-Fl; Wed, 11 Sep 2013 11:27:13 +0000 Received: from [37.59.24.223] (helo=node016.hybrid-sites.com) by node039.hybrid-sites.com with esmtp (HybridCluster distributed mail proxy) (envelope-from ); Wed, 11 Sep 2013 11:27:12 -0000 Message-ID: <5230538E.1060409@hybridcluster.com> Date: Wed, 11 Sep 2013 14:27:10 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130810 Thunderbird/17.0.8 MIME-Version: 1.0 To: dev@httpd.apache.org, =?UTF-8?B?UHFmIOa9mOW6huWzsA==?= Subject: Re: unreaped zombie children of mod_fcgid References: <522EF30F.6040802@hybridcluster.com> <6f74d2f4.13.1410aa00467.Coremail.pqf@mailtech.cn> <523009A6.7080400@hybridcluster.com> In-Reply-To: <523009A6.7080400@hybridcluster.com> X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-bar: - X-Virus-Checked: Checked by ClamAV on apache.org on 11/09/2013 09:11 Andriy Gapon said the following: > I've been thinking about this problem and the only theory that I have got so far > is that perhaps an owner httpd process could terminate ungracefully (e.g. > crash). In that case the pool cleanup would never be run. That's OK for > process local resources like memory or file descriptors, which would be freed by > OS because the process dies anyway. But that's not OK for external resources > like other processes. > In other words, if an httpd process marks an fcgid process as busy and then > suddenly dies, then there is nobody to move the fcgid process back to the idle list. Just an idea: perhaps scan_busylist should move a process to a different list (the error list?) after treating it with proc_kill_force? Currently the processes on the busy list are never checked for being a zombie. With the proposed change they should be correctly reaped after all the waiting and killing. -- Andriy Gapon