You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Eugene Crosser <cr...@average.org> on 1997/10/02 17:50:02 UTC

os-solaris/1190: server processes in keepalive state do not die after keepalive-timeout

>Number:         1190
>Category:       os-solaris
>Synopsis:       server processes in keepalive state do not die after keepalive-timeout
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Thu Oct  2 08:50:01 1997
>Originator:     crosser@average.org
>Organization:
apache
>Release:        1.2.0 and 1.2.4
>Environment:
SunOS phobos 5.5.1 Generic_103640-03 sun4m sparc SUNW,SPARCstation-20
SunOS mars 5.5.1 Generic_103640-05 sun4u sparc SUNW,Ultra-Enterprise
gcc 2.7.2
>Description:
Under unknown circumstances, server processes stay in `K' (keepalive)
status infinitely.  On a server with 1300 hits/day, there are 5 to 15
such processes a day.  TCP connection is in `ESTABLISHED' state, and
later disappears from `netstat' display.  When you try to `kill -ALRM'
the process (as if timeout expired), nothing happens.  If you attach
the process in `gdb', you see that it is peacefully reading from the
socket.  As days pass, more and more `K' processes are hanging around
and eventually reach MaxClient limit.

This does not happen with 1.1.3 running with *exactly* same config.
This apparently does not happen on other operating systems.

I could *not* reproduce it by telnetting, requesting a file with
keepalive and waiting: in this situation server gracefully closes
connection after keepalive-timeout.
>How-To-Repeat:
Just let the server run for a few hours...
>Fix:
No
>Audit-Trail:
>Unformatted: