Edit report at http://bugs.php.net/bug.php?id=51822&edit=1

 ID:               51822
 Updated by:       fel...@php.net
 Reported by:      daan at react dot com
 Summary:          Segfault with strange __destruct() for static class
                   variables
-Status:           Open
+Status:           Feedback
 Type:             Bug
 Package:          Scripting Engine problem
 Operating System: Debian Etch
 PHP Version:      5.2.13

 New Comment:

Please try using this snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

I cannot reproduce it on 5_2 SVN.


Previous Comments:
------------------------------------------------------------------------
[2010-05-14 14:38:49] daan at react dot com

Description:
------------
When a static class variable is assigned a nested destructable object,
it behaves differently when assigned before or after the instantiation
an object of the class to which the static property belongs.



When the variable is assigned after object instantiation, the process
segfaults.



(tested: PHP 5.3.1 behaves correctly)



Test script:
---------------
<?php

class DestructableObject

{

        public function __destruct()

        {

        }       

}



class DestructorCreator

{

        public function __destruct()

        {

                $this->test = new DestructableObject;   

        }

}



class Test

{

        public static $mystatic;

}



// Uncomment this to avoid segfault

//Test::$mystatic = new DestructorCreator();



$x = new Test();



if (!isset(Test::$mystatic))

        Test::$mystatic = new DestructorCreator();



echo 'bla';

Expected result:
----------------
bla

Actual result:
--------------
Segfault


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51822&edit=1

Reply via email to