#49292 [Opn->Fbk]: infinite recursive call in ob_011.phpt
| From: | jani@php.net | Date: | Thu, 20 Aug 2009 15:05:28 +0000 |
| Subject: | #49292 [Opn->Fbk]: infinite recursive call in ob_011.phpt | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-141313@lists.php.net to get a copy of this message | ||
ID: 49292
Updated by: jani@php.net
Reported By: dmendolia@php.net
-Status: Open
+Status: Feedback
Bug Type: Output Control
Operating System: Linux
PHP Version: 5.2.11RC1
New Comment:
Yes, the test is expected to fail. What is the bug here?
Previous Comments:
------------------------------------------------------------------------
[2009-08-20 13:53:20] dmendolia@php.net
With valgrind, I have more or less the same output than :
http://gcov.php.net/viewer.php?version=PHP_5_2&func=valgrind&file=tests%2Foutput%2Fob_011.phpt
==26235== Stack overflow in thread 1: can't grow stack to 0xBE763FF8
==26235==
==26235== Process terminating with default action of signal 11
(SIGSEGV)
==26235== Access not within mapped region at address 0xBE763FF8
==26235== at 0x8371CC0: zend_hash_quick_find (zend_hash.c:903)
==26235== Stack overflow in thread 1: can't grow stack to 0xBE763FEC
==26235==
==26235== Process terminating with default action of signal 11
(SIGSEGV)
==26235== Access not within mapped region at address 0xBE763FEC
==26235== at 0x401E200: _vgnU_freeres (vg_preloaded.c:56)
And the diff is :
001+ Segmentation fault
001- Fatal error: ob_get_flush(): Cannot use output buffering in output
buffering display handlers in %sob_011.php on line %d
------------------------------------------------------------------------
[2009-08-20 11:22:07] jani@php.net
Exactly how does it end up in infinite loop? It fails as expected for
me, just as it has since it was added..
------------------------------------------------------------------------
[2009-08-19 08:45:52] dmendolia@php.net
Description:
------------
When you call :
make test TESTS=./tests/output/ob_011.phpt
see :
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/tests/output/ob_011.phpt?view=markup
The execution don't fail anymore, consequence a infinite recursive
call.
1) ob_start having a function in call back with ob_get_flush inside.
2) ob_get_flush invoking the callback function of ob_start
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=49292&edit=1