You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by David Pisoni <da...@cnation.com> on 1998/03/18 19:25:05 UTC

general/1967: Server parent process fails when multiple SIGUSR1's caught

>Number:         1967
>Category:       general
>Synopsis:       Server parent process fails when multiple SIGUSR1's caught
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Wed Mar 18 10:30:00 PST 1998
>Last-Modified:
>Originator:     david@cnation.com
>Organization:
apache
>Release:        1.2.5
>Environment:
uname -a : Linux brahms 2.0.33 #11 Tue Feb 3 18:57:05 PST 1998 i686 unknown
gcc version 2.7.2.3
libc.so.5.4.33
>Description:
My daily log cycling program follows this procedure :
rename logfile
touch file in logfile's place
kill SIGUSR1 server
sleep 5

Even with the sleep in place, a few USR1's will cause the parent server process to disappear, though leaving some children hanging around.
This even baffled my test script (which goes in and attempts to restart the server), because those processes were still bound to the HTTP port.  I had to put in a caveat to kill that process group.

Here is the error log excerpt :
[Wed Mar 18 09:48:25 1998] SIGUSR1 received.  Doing graceful restart
[Wed Mar 18 09:48:26 1998] Server configured -- resuming normal operations
[Wed Mar 18 09:48:27 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:38 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:42 1998] accept: (client socket): Broken pipe
[Wed Mar 18 09:48:44 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:44 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:44 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:46 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:51 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:53 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:48:56 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:01 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:02 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:09 1998] SIGUSR1 received.  Doing graceful restart
[Wed Mar 18 09:49:09 1998] Server configured -- resuming normal operations
[Wed Mar 18 09:49:15 1998] SIGUSR1 received.  Doing graceful restart
[Wed Mar 18 09:49:15 1998] Server configured -- resuming normal operations
[Wed Mar 18 09:49:22 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:32 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:34 1998] SIGUSR1 received.  Doing graceful restart
[Wed Mar 18 09:49:34 1998] Server configured -- resuming normal operations
[Wed Mar 18 09:49:43 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:46 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:46 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:46 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:49:53 1998] accept: (client socket): Invalid argument
[Wed Mar 18 09:50:02 1998] accept: (client socket): Invalid argument
[Wed Mar 18 09:50:03 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:50:03 1998] accept: (client socket): Connection reset by peer
[Wed Mar 18 09:50:04 1998] SIGUSR1 received.  Doing graceful restart
[Wed Mar 18 09:52:20 1998] created shared memory segment #4352
[Wed Mar 18 09:52:20 1998] Server configured -- resuming normal operations

The last two lines occured after I manually called 'killall' on the remaining httpd processes, and then relaunched the server.
>How-To-Repeat:

>Fix:

>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]