ID:               40259
 Comment by:       noah at rave dot ca
 Reported By:      tomwys at o2 dot pl
 Status:           Open
 Bug Type:         Output Control
 Operating System: Linux
 PHP Version:      5.2.0
 New Comment:

I have the same problem... Apache starts to user 50% cpu and then
crashes giving:

Fatal error: out of dynamic memory in yy_create_buffer() in Unknown on
line 0


Previous Comments:
------------------------------------------------------------------------

[2007-01-28 10:52:08] judas dot iscariote at gmail dot com

I got a segfault with $count = 1633. in 5.2.0

with 5_2 CVS in debug mode I get For exmaple

./sapi/cli/php -dmemory_limit=4M obmess.php
1PHP Fatal error:  Allowed memory size of 4194304 bytes exhausted at
/home/cristian/php5/main/output.c:436 (tried to allocate 40961 bytes)
in /local/back/home/cristian/php5/obmess.php on line 4
[Sun Jan 28 07:49:34 2007]  Script:  'obmess.php'
---------------------------------------
/home/cristian/php5/main/output.c(316) : Block 0x00EF8FE8 status:
Beginning:      Cached
Freed (invalid)
    Start:      OK
      End:      OK
---------------------------------------
[Sun Jan 28 07:49:34 2007]  Script:  'obmess.php'
---------------------------------------
/home/cristian/php5/main/output.c(319) : Block 0x0102CD58 status:
Beginning:      Freed
    Start:      OK
      End:      OK

------------------------------------------------------------------------

[2007-01-28 08:15:38] [EMAIL PROTECTED]

It works even fine here with a count of 50000 if USE_ZEND_ALLOC=0 is
set. Maybe a MM failure?

------------------------------------------------------------------------

[2007-01-27 22:35:17] [EMAIL PROTECTED]

Mike, this looks like a stack overflow to me (note that ob_flush() is
used, not ob_end_flush() so we got insane amount of nested buffers).
Do you think you can do something about it?

------------------------------------------------------------------------

[2007-01-27 22:13:21] tomwys at o2 dot pl

Description:
------------
I have tested this code on two machines. I have memory error  or
endless loop.

On first machine code fails from $count = 385 on second machine from
$count = 1633.

Reproduce code:
---------------
<?php
$count = 385;
for($i = 1; $i < $count; $i ++) {
  ob_start();
  echo $i;
  ob_flush(); 
} 

?>

Expected result:
----------------
123456789101112[etc.]

Actual result:
--------------
First machine:
1[there is endless loop and 100% CPU]

Second machine:
1*** glibc detected *** double free or corruption (top):
0x0000000004c9c370 ***
Aborted



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=40259&edit=1

Reply via email to