httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 22106] New: - Problems with ssi exec processes hanging under Apache 2.0.47
Date Mon, 04 Aug 2003 13:21:39 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22106>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22106

Problems with ssi exec processes hanging under Apache 2.0.47

           Summary: Problems with ssi exec processes hanging under Apache
                    2.0.47
           Product: Apache httpd-2.0
           Version: 2.0.47
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Major
          Priority: Other
         Component: worker
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: parramorej@homes.com


The past few weeks, we've seen processes start to accumulate and hang under 
what appear to be only moderate loads.  The processes in question are generated 
from SSI exec commands embedded in HTML pages.  The end result is that the site 
appears to slow to a crawl --- these processes can hang for several minutes.

When I truss the various processes, I usually see something like the following:

write(1, " e = " V e r d a n a , A".., 976) (sleeping...)
signotifywait()                 (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...) lwp_cond_wait
(0xFF393FC8, 0xFF393FD8, 0xFE283C90) (sleeping...)

(what appears on the second argument to the write varies).  Another such truss 
(truss -l -p) gives

/1:     lwp_sema_wait(0xFDF0DE78)       (sleeping...)
/2:     signotifywait()                 (sleeping...)
/3:     write(1, " = 2   V S P A C E = 2 >".., 7132) (sleeping...)
/4:     lwp_cond_wait(0xFF393FC8, 0xFF393FD8, 0xFE285C38) (sleeping...)
/5:     door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)

Using gcore to generate cores of the running processes and doing a backtrace 
just shows that a print statement was being called (I should mention that these 
the programs in question are Pro-C codes).  So, it appears that the process is 
attempting to print back a response, then halts and waits. Maybe.  The problem 
is that I don't know/can't tell just yet why the processes are waiting, and on 
what... I feel as though I'm looking in the wrong places.

We're running Apache 2.0.47 on Solaris 7 (with all latest recommended patches) 
across four dual-processor boxes (E220s).  Apache was compiled using gcc 2.95.3 
with two patches: a cgid daemon restart patch and a patch to prevent a double 
close on a socket (problems encountered with the first).  I'm using the worker 
MPM with the following httpd.conf configuration:

<IfModule worker.c>
StartServers             2
MaxClients             150
#StartServers            5
#MaxClients            250
MinSpareThreads         25
MaxSpareThreads         75
ThreadsPerChild         25
MaxRequestsPerChild  10000
</IfModule>

The only compiled-in modules are 

  core.c
  worker.c
  http_core.c
  mod_so.c

Everything else is loaded as a DSO (if not commented out).

If this rings a bell somewhere for someone and/or if you have some advice for 
how to further proceed with tracking this down, let me know.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message