httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <b...@wstoddard.com>
Subject Re: stuck in keepalive (apache 1.3)
Date Fri, 09 Nov 2001 18:41:10 GMT
Curious what insite Dean had into suggesting a change from SIGALRM to SIGUSR2.

Seemed to work in the Solaris case. Not clear if the fellow who made the change on Linux
got any relief.

The only way that I can see Apache 1.3 getting stuck on keepalive reads is:
1. storage overlay that whacked the timeout value to some BIG NUMBER (unlikely I think)
2. signals are not being delivered either because of a bug in the OS or because some
errant module has blocked signals.
3. Some module has started one or more additional threads w/o blocking signals in the new
thread. The new thread could be catching the keep-alive timeout signal rather than the
thread blocked on the read.

In general it is bad mojo to introduce threads to an Apache 1.3 process but I believe it
can be done if you are really, really careful...

Bill

> I'm curious if anyone knows the cause/solution of this one.  I've never seen
> it personally, but I've seen at least half a dozen reports  in the bug
> database and newsgroups.
>
> Basically, people report that processes get "stuck" in keepalive and
> eventually fill up all the process slots, bringing the server to a halt:
>
> http://bugs.apache.org/index.cgi/full/8725
> http://bugs.apache.org/index.cgi/full/8261
> http://bugs.apache.org/index.cgi/full/8045
>
> Some people report success with a signal change:
>
> http://bugs.apache.org/index.cgi/full/3906
>
> Joshua.
>


Mime
View raw message