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=38403>. 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=38403 Summary: Child-Thread uses 100%CPU usage, mod_proxy ? Product: Apache httpd-2 Version: 2.2.0 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: mod_proxy AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] This bug is probably related to #36951, however the offered solution was for 2.1.8 and not merged into 2.2.0. Setup: Apache 2.2.0 is used as a reverse proxy for accelerating an apache1.3+php on the same host. we are using worker mdm and mod_proxy is configured to use a pool. Apache is build from current source. Problem: At least once a day 1 or 2 threads consume 100% of their cpu (dual+ht, so system remains responsive). strace says that the process is waiting for the child futex(0xb2b10bf8, FUTEX_WAIT, 1847, NULL <unfinished ...> while the child (1847) is in a loop of: close(-1) = -1 EBADF (Bad file descriptor) (the other thread did the same) the worker-thread and its parent process remain up, even if all other worker threads of this process have been shutdown and apache already uses other processes to service requests. ps -L -e -F UID PID PPID LWP C NLWP SZ RSS PSR STIME TTY TIME CMD ... nobody 1839 19001 1839 0 3 693301 235192 3 Jan25 ? 00:00:00 /home/apache22/bin/httpd -k start nobody 1839 19001 1847 99 3 693301 235192 1 Jan25 ? 1-03:37:44 /home/apache22/bin/httpd -k start nobody 1839 19001 1928 99 3 693301 235192 2 Jan25 ? 1-03:37:54 /home/apache22/bin/httpd -k start ... (these are all threads of PID 1839) I could not get a backtrace of the crazy thread, gdb hangs after this: gdb httpd 1928 ... [Thread debugging using libthread_db enabled] [New Thread -1209694528 (LWP 1839)] the threads show up in extended server status: Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-0 1839 8/32/6705 W 13.39 101250 0 19.5 0.14 40.40 x.x.x.x frontservername GET /proxied/url/... 0-0 1839 30/117/6898 R 13.59 101250 0 307.9 0.60 42.39 ? ? ... they survive gracefull restarts and apache restart kills them with SIGKILL I have the feeling that this bug is triggered by timeouts or partial responses of the accelerated server. (We had database problems with the backend server, so a lot of proxy requests failed, see error_log, however there was no error message associated with the requested ressource, remote_addr or processids from the extend status (probably because the threads did not yet get to log anything) proxy: error reading status line from remote server 127.0.0.1 proxy: Error reading from remote server returned by proxy: error reading status line from remote server (null) (70007)The timeout specified has expired: proxy: prefetch request body failed to 127.0.0.1:8081 (127.0.0.1) from We log the x-forwarded-for header on the backend, and the ip from the server status does not show up, so the request headers were never received by the backend server. -- 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
