I have this situation where a httpd process will try to use 100% of my
cpu after a fastcgi or normal cgi script has finished doing its thing
-- POST will modified server state and GET will give me the page but
the browser keeps loading and the controlling httpd's cpu usage goes
right up.
This is repeated on either the next request or with a few successful
requests in between and then I have two httpds sitting on around 50%
and a another browser request still active. Once I get to about 4 or
so httpds fighting away the site gets sluggish...
I'm not sure what the pattern is, it can take a while to trigger the
first run away process but then it seems likely that the next one will
go soon.
The problem appears to be with mod_auth_bsd (see backtrace below)
I didn't notice this problem on 4.0-release.
I'm running 4.1-release i386 in VMware Server 1.0.2 under Debian 4.0 amd64
httpd with "-u -DSSL"
Packages:
mod_auth_bsd-0.8.2
mod_fastcgi-2.4.2
python-2.4.4p1
Non ports:
flup 0.5 + patch (fcgi_base.py to r2348)
web.py 0.21
This is the backtrace from one of the run away processes, it is trying
to read from the auth_socket variable in auth_child_userokay() in
/usr/ports/www/mod_auth_bsd/w-mod_auth_bsd-0.8.2/bsdauth-0.8.2/authd.c
(gdb) bt
#0 0x00a85a49 in read () from /usr/lib/libc.so.40.3
#1 0x0822d6ae in auth_child_userokay ()
from /usr/lib/apache/modules/mod_auth_bsd.so
#2 0x0822fa72 in authenticate () from /usr/lib/apache/modules/mod_auth_bsd.so
#3 0x1c0358a9 in ap_cleanup_method_ptrs ()
#4 0x1c035996 in ap_check_user_id ()
#5 0x1c04637f in ap_some_auth_required ()
#6 0x1c0464bf in ap_process_request ()
#7 0x00000000 in ?? ()
This my httpd error_log since the last restart (lots of lines sorry):
[Fri Jul 13 15:41:49 2007] [error] (2)No such file or directory:
FastCGI: access for server (uid 32767, gid 32766) failed: read not
allowed
[Fri Jul 13 15:41:49 2007] [error] (2)No such file or directory:
FastCGI: can't create dynamic directory
"/var/ww...