From:             nikic
Operating system: 
PHP version:      5.5.0RC1
Package:          Scripting Engine problem
Bug Type:         Bug
Bug description:Crash due to dtor call happening after dtor shutdown

Description:
------------
If an object is created *after* the destructor shutdown, its dtor will be
called when it is freed, which potentially happens during a phase of the
shutdown process where the executor is no longer in a consistent state.

The test script uses the ob callback (called after dtor shutdown) to create
an object and bind it to to the error callback, which is later freed during
zend_deactivate, as part of the executor shutdown.

Result:
/home/nikic/dev/php-dev/Zend/zend_hash.c(946) : ht=0x42dea5c is already
destroyed

Test script:
---------------
<?php
 
ob_start(function() {
    $foo = new Foo;
    set_error_handler(function() use ($foo) {});
});

class Foo {
    public function __destruct() {
        var_dump($GLOBALS);
    }
}



-- 
Edit bug report at https://bugs.php.net/bug.php?id=64893&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=64893&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=64893&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=64893&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=64893&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=64893&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=64893&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=64893&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=64893&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=64893&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=64893&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=64893&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=64893&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=64893&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=64893&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=64893&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=64893&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=64893&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=64893&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=64893&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=64893&r=mysqlcfg

Reply via email to