Annotation of embedaddon/php/Zend/tests/bug64960.phpt, revision 1.1.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>