You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/08/05 01:01:58 UTC

DO NOT REPLY [Bug 11460] New: - httpd consuming all CPU time

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=11460>.
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=11460

httpd consuming all CPU time

           Summary: httpd consuming all CPU time
           Product: Apache httpd-2.0
           Version: 2.0.39
          Platform: PC
        OS/Version: FreeBSD
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Core
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: winfried@303.krakow.pl


I was running FreeBSD 4.6-RELEASE on one of my machines, with Apache 2.0.39.
It worked flawlesly until recently, when I had upgraded my system do 4.6-STABLE
(cvsupped Aug the 1th). I've noticed that from time to time one of the httpd
processes starts consuming all CPU power; lsof'ing such process showed that
it is not any kind of script, but just a normal request for some .zip file.
Then I ran truss on it. Here's the result:

writev(0x14,0x0,0x0)                             = 0 (0x0)
writev(0x14,0x0,0x0)                             = 0 (0x0)
writev(0x14,0x0,0x0)                             = 0 (0x0)
writev(0x14,0x0,0x0)                             = 0 (0x0)
writev(0x14,0x0,0x0)                             = 0 (0x0)

... and so on, like in some kind of infinite loop. writev() should return
amount of written bytes.. in this case, writev() fails somehow to write
anything (socket died?), but httpd seems to loop forever trying to send
something.

I do not handle .zip files in any special way, so I think it's rather a
coincidence that it gets on them.. or maybe just becouse they tend to be big.
I thought it may be a problem with some libraries, so I recompiled Apache - 
but it does not help in any way. The intriguing thing is that I cannot
reproduce the bug - I ran 'ab' with 20 concurrent connections and 100k requests
(for big .zip files) and it worked smoothly. I'm not sure what are the
required contidions for that.

I gcore'd the running httpd (it does not SEGV; it just runs). It's avalaible
for download here:

http://violent.dream.vg/stuff/smieci/httpd.core

gdb httpd httpd.core didn't reveal anything particulary interesting.
Just:

#0  0x28256d08 in writev () from /usr/lib/libc.so.4

Which is what I already knew. I have log level set do "debug", but there's
nothing special in error log - just the usufal stuff, like "socket not
connected"..

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