Annotation of embedaddon/php/Zend/tests/bug64960.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #64960 (Segfault in gc_zval_possible_root)
! 3: --FILE--
! 4: <?php
! 5: // this makes ob_end_clean raise an error
! 6: ob_end_flush();
! 7:
! 8: class ExceptionHandler {
! 9: public function __invoke (Exception $e)
! 10: {
! 11: // this triggers the custom error handler
! 12: ob_end_clean();
! 13: }
! 14: }
! 15:
! 16: // this must be a class, closure does not trigger segfault
! 17: set_exception_handler(new ExceptionHandler());
! 18:
! 19: // exception must be throwed from error handler.
! 20: set_error_handler(function()
! 21: {
! 22: $e = new Exception;
! 23: $e->_trace = debug_backtrace();
! 24:
! 25: throw $e;
! 26: });
! 27:
! 28: // trigger error handler
! 29: $a['waa'];
! 30: ?>
! 31: --EXPECTF--
! 32: Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in %sbug64960.php on line 3
! 33:
! 34: Fatal error: Uncaught exception 'Exception' in %sbug64960.php:19
! 35: Stack trace:
! 36: #0 [internal function]: {closure}(8, 'ob_end_clean():...', '%s', 9, Array)
! 37: #1 %sbug64960.php(9): ob_end_clean()
! 38: #2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
! 39: #3 {main}
! 40: thrown in %sbug64960.php on line 19
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>