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>