>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: [EMAIL PROTECTED] >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:
