You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Eugene Lee <li...@fsck.net> on 2004/05/14 23:44:42 UTC

[users@httpd] error log flooded with "warning: recursive call"

I'm running with Apache 1.3.31 and PHP 4.3.6 on top of FreeBSD 4.9.
Everything works fine at low traffic times.  But when the traffic goes
beyond a certain point, Apache dumps a *ton* of the following message in
logs/error_log:

	httpd in free(): warning: recursive call

where a "ton" is defined as 5,000-35,000 log entries in a 10-minute
window depending on the traffic.  The load average jumps to 30-50.
There is no other obvious error message, nothing "malloc()".  And the
server never hits swap, so the 3 GB of RAM seems more than plenty.  I
built Apache with CFLAGS="-O -pipe" (the default makefile settings in
FreeBSD) and CFLAGS="-O2 -pipe -DBUFFERED_LOGS -O6 -fomit-frame-pointer"
(settings from FreeBSD Ports), and the problem continues to persist.
Stopping and restarting Apache is the only workaround that works.

Any suggestions to troubleshoot this are appreciated.  Even if I compile
with debugging enabled, how do I run gdb on a preforking Apache?


-- 
Eugene Lee
"Memorable, Global, Non-political -- pick two." --- Clay Shirky

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] error log flooded with "warning: recursive call"

Posted by Eugene Lee <li...@fsck.net>.
On Fri, May 14, 2004 at 04:44:42PM -0500, Eugene Lee wrote:
: 
: I'm running with Apache 1.3.31 and PHP 4.3.6 on top of FreeBSD 4.9.
: Everything works fine at low traffic times.  But when the traffic goes
: beyond a certain point, Apache dumps a *ton* of the following message in
: logs/error_log:
: 
: 	httpd in free(): warning: recursive call

A follow-up.  I gave up on Apache 1.3.x and went with Apache 2.0.49.
After two late nights of unsuccessful troubleshooting, the switch was
not only simple but also did not trigger the bug that flooded the
error_log that slammed the load average that rebooted the web server
that I built.  Just remember to go --with-mpm=prefork because threads
in FreeBSD pre-5 sucks, and pre-5.3 is not production quality.


-- 
Eugene Lee
eugene at fsck dot net

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org