Bug #11676 Updated: A few apache children consume all memory and CPU.
| From: | valerio at wnet dot it | Date: | Wed, 27 Jun 2001 18:30:05 +0000 |
| Subject: | Bug #11676 Updated: A few apache children consume all memory and CPU. | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-58247@lists.php.net to get a copy of this message | ||
ID: 11676
User Update by: valerio@wnet.it
Old-Status: Feedback
Status: Open
Bug Type: Scripting Engine problem
Operating system: linux 2.4.5 i386
PHP Version: 4.0 Latest CVS (2001-06-25)
Description: A few apache children consume all memory and CPU.
Here it is:
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro
-fomit-frame-pointer -fno-exceptions" \
./configure \
--with-apache=../apache_1.3.20 \
--with-mysql \
--disable-debug \
--with-gnu-ld \
--enable-memory-limit \
--enable-inline-optimization
I don't remember exactly, but i think i had tried removing ALL gcc optimization options, with
the same results...
During another crash (pre-crash actually :) i managed to backtrace a httpd which had this stack:
#0 0x4012c238 in chunk_free ()
#1 0x4012bfaa in __cfree ()
#2 0x80fb8f2 in _efree ()
The other httpd i backtraced had all the stack like this:
#0 0x4012c23e in chunk_free ()
#1 0x4012bfaa in __cfree ()
#2 0x80fbcbf in shutdown_memory_manager ()
Hope this helps...
Previous Comments:
---------------------------------------------------------------------------
[2001-06-27 11:57:34] sniper@php.net
what was the configure line used to configure PHP ?
---------------------------------------------------------------------------
[2001-06-26 14:32:38] zeev@php.net
Ignore the last comment, wrong bug report :)
---------------------------------------------------------------------------
[2001-06-26 14:31:52] zeev@php.net
Output buffering indeed cannot be used inside output handler functions. However, the code that
handled that error situation contained a bug that caused PHP to enter an infinite loop. This bug is
now fixed (although the limitation of not being able to use output buffering inside output handlers
still applies)
---------------------------------------------------------------------------
[2001-06-26 07:32:26] valerio@wnet.it
Well, the problem is that we have many virtual hosts on that server, each using it's own log
file...
I can confirm that the gdb trace for ALL the many dead process, which are in running state, gives
the three lines:
#0 0x4012c23e in chunk_free ()
#1 0x4012bfaa in __cfree ()
#2 0x80fbcbf in shutdown_memory_manager ()
(it happened this morning too)
Is there some way to know which script was executing just before the child died, please tell me!
---------------------------------------------------------------------------
[2001-06-26 07:04:06] sniper@php.net
It would help a lot to track this down if you could find
out if this happens by running some script.
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
Full Bug description available at: http://bugs.php.net/?id=11676