You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Dean Gaudet <dg...@arctic.org> on 1997/09/13 08:30:07 UTC
Re: general/1072: http servers die until only one left in process list (fwd)
The following reply was made to PR general/1072; it has been noted by GNATS.
From: Dean Gaudet <dg...@arctic.org>
To: apbugs@apache.org
Subject: Re: general/1072: http servers die until only one left in process list (fwd)
Date: Fri, 12 Sep 1997 23:31:09 -0700 (PDT)
---------- Forwarded message ----------
Date: Fri, 12 Sep 1997 22:10:20 -0600 (MDT)
From: TST System Administrator <ad...@TST-MedHat.com>
To: dgaudet@hyperreal.org
Cc: apache-bugdb@apache.org
Subject: Re: general/1072: http servers die until only one left in process list
Parent process is alive and running. It doesn't die, it is the only
process left running.
I have a cron job that counts the number of httpd processes and then
restarts the main process by using the following if the count is to low.
kill -HUP `cat /var/run/httpd.pid`
I will run the strace command and see what else is happening.
This has happened twice in the last day. It seems to be intermittent.
Sep 06 it happened 6 times while twice between then and today.
This is what I see when I run the strace -p
--- SIGALRM (Alarm clock) ---
sigreturn() = ? (mask now [ALRM])
time(NULL) = 874122780
sigaction(SIGALRM, {SIG_DFL}, NULL) = 0
alarm(0) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
wait4(-1, NULL, WNOHANG, NULL) = 0
sigprocmask(SIG_BLOCK, [ALRM], []) = 0
sigaction(SIGALRM, {0x40082ef0, [], 0}, {SIG_DFL}) = 0
time(NULL) = 874122780
alarm(1) = 0
sigsuspend([] <unfinished ...>
and it just repeats.
Here is strace -i -p 305
[40082d88] --- SIGALRM (Alarm clock) ---
[40082ef0] <... sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
[bffffca4] sigreturn() = ? (mask now [ALRM])
[4009823a] time(NULL) = 874123584
[4002e627] sigaction(SIGALRM, {SIG_DFL}, NULL) = 0
[4002fd7a] alarm(0) = 0
[4002e70c] sigprocmask(SIG_SETMASK, [], NULL) = 0
[4002ed43] wait4(-1, NULL, WNOHANG, NULL) = 0
[4002e70c] sigprocmask(SIG_BLOCK, [ALRM], []) = 0
[4002e627] sigaction(SIGALRM, {0x40082ef0, [], 0}, {SIG_DFL}) = 0
[4009823a] time(NULL) = 874123584
[4002fd7a] alarm(1) = 0
[40082d88] sigsuspend([] <unfinished ...>
>From our httpd.conf
StartServers 15
MinSpareServers 10
MaxSpareServers 30
Hope this helps.
TST Consulting Inc. | Voice: 403.529.1560 |
Box 1599 C153 | Fax: 403.526.1560 |
Medicine Hat, Alberta, Canada | Office: 877 17 Street SW |
T1A 7Y5 | Email: admin@TST-MedHat.com |
On Fri, 12 Sep 1997 dgaudet@hyperreal.org wrote:
> Synopsis: http servers die until only one left in process list
>
> State-Changed-From-To: open-analyzed
> State-Changed-By: dgaudet
> State-Changed-When: Fri Sep 12 16:49:31 PDT 1997
> State-Changed-Why:
> This sounds like you're killing the parent process somehow.
> Possibly a cron job or something. The parent is responsible
> for spawning more children ... and I haven't seen this problem
> on other linux boxes yet.
>
> If you are absolutely certain the parent is still running
> (take a look in logs/httpd.pid to find out the parent's pid)
> then try running "strace -p <pid>" against it to see what
> it's up to.
>
> Dean
>