www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Meyer <rme...@befree.com>
Subject os-solaris/7159: Solaris bug that causes httpd to hang in sleeping state
Date Tue, 30 Jan 2001 19:20:14 GMT

>Number:         7159
>Category:       os-solaris
>Synopsis:       Solaris bug that causes httpd to hang in sleeping state
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Tue Jan 30 11:30:03 PST 2001
>Originator:     rmeyer@befree.com
>Release:        1.3.12
uname -a
SunOS devfe01 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-2
gcc version 2.8.1
I know that this is a Solaris bug, not Apache, but I figure my odds are better of getting
a work around for Apache. This may be the same problem described in PR number 3906, however
the solution proposed there does not work.
We are running Apache with mod_so, and without mod_perl. 

When checking the server-status page we noticed several PIDs were sitting in a ..reading..
state with the SS column well past Apache's Timeout setting (30 seconds). 
Srv PID   Acc     M   CPU  SS  Req Conn Child Slot Client VHost Request  
3-0 15618 0/11/11 R  1.60 12185 3 0.0 0.03 0.03  ? ? ..reading..  

When I truss this process I see : read(10, 0x000B1A88, 4096)      (sleeping...)

I've got Apache compiled with gcc's -g flag so I can trace the code in the debugger. Connecting
to the process I see that the code is in a system call (___lwp_cond_wait()).

On Solaris' web page I found a bug fix for this call, which may or may not fix the problem,
but in any case it requires a newer version of SunOS. Upgrading SunOS won't happen anytime
soon, so I'm hoping for an Apache work around.

I have tried the proposed solution in PR 3906, but the problem still exists.
I can recreate this problem by telneting multiple times to httpd daemon on Port 80.
eg : telnet devfe01.machine.com 80 &
I throw it into the background so I can fire of 10 or so at a time.

If I don't issue any further commands on these telnet sessions, /server-status shows the process
in the R state. Most of this will correctly be timed out at 30 seconds. Some will stay indefinitely.
It sometimes takes 2 or 3 tries to get the processes to hang.

 [In order for any reply to be added to the PR database, you need]
 [to include <apbugs@Apache.Org> in the Cc line and make sure the]
 [subject line starts with the report component and number, with ]
 [or without any 'Re:' prefixes (such as "general/1098:" or      ]
 ["Re: general/1098:").  If the subject doesn't match this       ]
 [pattern, your message will be misfiled and ignored.  The       ]
 ["apbugs" address is not added to the Cc line of messages from  ]
 [the database automatically because of the potential for mail   ]
 [loops.  If you do not include this Cc, your reply may be ig-   ]
 [nored unless you are responding to an explicit request from a  ]
 [developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]

View raw message