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 36951] New: - Proxy httpd runs away with cpu on broken CONNECT client
Date Thu, 06 Oct 2005 14:29:30 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36951>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36951

           Summary: Proxy httpd runs away with cpu on broken CONNECT client
           Product: Apache httpd-2.0
           Version: 2.1.8
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_proxy
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: rjs@cityperk.net


I don't think this is a dupe of 29744.  

Apache 2.1.8 (also checked 2.1.7 and 2.1.6, same prob)
Occurs on UnixWare 7.1.3 MP2, unable to demonstrate on Linux.

I realize most folks don't have a UnixWare box to abuse.  I'd like to help 
isolate this.  Please let me know what I can do.  

Using Apache as a caching-proxy.  When the browser attempts to make a secure 
CONNECT through the proxy, and the browser side of the connection terminates 
ungracefully, the related httpd processes run away with the processor.  

Configuration:
CC=cc CFLAGS="-KPIC,thread" ./configure \
--prefix=/usr/local/apache2 \
--enable-cache \
--enable-disk-cache \
--enable-proxy \
--enable-proxy-connect \
--enable-proxy-http \
--disable-ipv6 \
--disable-autoindex \
--disable-userdir \
--with-mpm=prefork

I've tried to build with the worker MPM, no joy.  Output from make and 
httpd.conf available as;

http://citiperk.net/make_out.txt
http://citiperk.net/make_err.txt
http://citiperk.net/httpd.conf.txt

This problem came up while we were adding people to the proxy for the first 
time, trying to see how it would perform with more than just me.  It worked 
fine, but I would occasionally find a runaway process after a day or two of it 
being up.  

I can now reliably reproduce the problem by requesting a secure page and 
closing the browser before the page can complete. I am not able to break it by 
requesting non-secure pages. 

With the processes spun up I looked at netstat.  There appeared to be three 
connections from the proxy to the content still open.

Proto Recv-Q Send-Q  Local Address   Foreign Address        (state)
tcp        0      0  proxy.51767     content.443   ESTABLISHED
tcp        0      0  proxy.51766     content.443   ESTABLISHED
tcp        0      0  proxy.51765     content.443   ESTABLISHED

These close after a few minutes, but the runaway httpd processes are still 
consuming all the available cpu time.  With the Apache log running at debug 
level the only relevant entries indicates a CONNECT has been established

[Wed Oct 05 03:05:20 2005] [debug] proxy_util.c(1428): proxy: CONNECT: fam 2 
socket created to connect to content.company.net
[Wed Oct 05 03:05:20 2005] [debug] mod_proxy_connect.c(231): proxy: CONNECT: 
Returning 200 OK Status
[Wed Oct 05 03:05:20 2005] [debug] mod_proxy_connect.c(252): proxy: CONNECT: 
setting up poll()

Running "truss -f -n -rall -mall -tall -p <runaway pid>" shows similar for each 
runaway, and they each stream to the screen as fast as the window will paint.

28750:  poll(0x081C8820, 2, -1)         = 1

Would appreciate any ideas on how to help debug.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


Mime
View raw message