top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Apache 2.2.22 mpm-prefork workers hanging - timeouts

0 votes
434 views

We have apache running over https with a module that provides a proxy to (interalia) websockets and tcp sessions. Source is at:
https://github.com/abligh/apache-websocket (if anyone is interested.)

Following a relatively recent upgrade to apache (sadly I don't know which, but somewhere between Lucid and Precise), we ended up with some worker processes that hang with 100% CPU usage. Investigation with gdb shows this appears to be the destruction of the output bucket brigade going around and around without ever terminating. No data is flowing (obviously). These hung processes will persist for days.

No doubt there is a bug either in our module or apache that causes this, but I'm more interested in how apache kills runaway workers, or more accurately why it's not killing them here.

We are using:

 RequestReadTimeout body=300,minrate=1

This should require a minimum data rate of 1 byte per second. Is RequestReadTimeout only checked if the process actually is in/exiting select()? If so, how do I do a watchdog?

Or is the issue that minrate 1 with a previous sensible datarate generates an enormous timeout value that might be in days? If so is the right approach:

RequestReadTimeout body=300-3600,minrate=1

or similar?

We're now using:

apache2-mpm-prefork 2.2.22-1ubuntu1.2
Server version: Apache/2.2.22 (Ubuntu)
Server built: Nov 8 2012 21:37:30
posted Jun 11, 2013 by anonymous

Looking for an answer?  Promote on:
Facebook Share Button Twitter Share Button LinkedIn Share Button

Similar Questions
+2 votes

Im trying to configure the proxy_balancer, but still having problems. Here is my configuration:

BalancerMember http://172.16.14.81:80 
retry=120 
timeout=10 

BalancerMember http://172.16.14.82:80 
retry=1 
timeout=10 
status=+H

But when The first worker fails, request are not redirected to the failover worker. For this I have to wait for more than 7 minutes. Is this behavior normal?

+1 vote

We have Apache 2.2.22 (Win32) on a Windows 2008 64 bit server. It currently has OpenSSL 0.9.8.

We are trying to apply the OpenSSL 1.0.1h on the same, after applying the open SSL and copying the relevant files to the bin directory of apache server, we are not able to start the server. It gives an mod_sso error.

Any Suggestions?

0 votes

I started apache server which has worker as mpm in debug mode. I killed the process with kill -9 then it kills the process and stop debug. But when I am using kill -term PID then it is not killing process. Whereas kill -term PID is woking with prefork debug.Â
If I want to use kill -term PID in debug mode of worker then how to do that.

...