ID:               36006
 Updated by:       [EMAIL PROTECTED]
 Reported By:      php_nospam at ramihyn dot sytes dot net
-Status:           Assigned
+Status:           Closed
 Bug Type:         Scripting Engine problem
 Operating System: Windows, Debian Sarge
 PHP Version:      5.1.2
 Assigned To:      dmitry
 New Comment:

Fixed in CVS HEAD, PHP_5_1 and PHP_5_0.


Previous Comments:
------------------------------------------------------------------------

[2006-01-14 01:54:33] php_nospam at ramihyn dot sytes dot net

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1078044800 (LWP 21090)]
zend_std_write_property (object=0xbfffefe0, member=0x860ed50,
value=0x860424c)
    at /usr/src/php-5.1.2/Zend/zend_object_handlers.c:374
374             property_info = zend_get_property_info(zobj->ce,
member, (zobj->ce->__set != NULL) TSRMLS_CC);
(gdb) bt
#0  zend_std_write_property (object=0xbfffefe0, member=0x860ed50,
value=0x860424c)
    at /usr/src/php-5.1.2/Zend/zend_object_handlers.c:374
#1  0x082e2e5a in zend_assign_to_object (result=0x860ed24,
object_ptr=0x8524c5c, op2=0x2, value_op=0x860ed84, Ts=0xbfffec9c,
    opcode=136) at /usr/src/php-5.1.2/Zend/zend_execute.c:607
#2  0x082bdfc9 in ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_HANDLER
(execute_data=0xbfffecd0) at zend_vm_execute.h:14644
#3  0x08299068 in execute (op_array=0x8610024) at zend_vm_execute.h:92
#4  0x08299531 in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfffede0) at zend_vm_execute.h:226
#5  0x08299068 in execute (op_array=0x860f474) at zend_vm_execute.h:92
#6  0x08276439 in zend_call_function (fci=0xbfffef50,
fci_cache=0xbfffef30) at
/usr/src/php-5.1.2/Zend/zend_execute_API.c:907
#7  0x082906e1 in zend_call_method (object_pp=0xbfffefdc,
obj_ce=0x860ee64, fn_proxy=0x860ef54,
    function_name=0x8481e5f "__destruct", function_name_len=10,
retval_ptr_ptr=0x0, param_count=2, arg1=0x0, arg2=0x0)
    at /usr/src/php-5.1.2/Zend/zend_interfaces.c:88
#8  0x08294cc9 in zend_objects_destroy_object (object=0x860eba4,
handle=2) at /usr/src/php-5.1.2/Zend/zend_objects.c:78
#9  0x0829758d in zend_objects_store_call_destructors
(objects=0x8524d1c) at /usr/src/php-5.1.2/Zend/zend_objects_API.c:55
#10 0x08275105 in shutdown_destructors () at
/usr/src/php-5.1.2/Zend/zend_execute_API.c:191
#11 0x0827f9ca in zend_call_destructors () at
/usr/src/php-5.1.2/Zend/zend.c:831
#12 0x082459c4 in php_request_shutdown (dummy=0x0) at
/usr/src/php-5.1.2/main/main.c:1253
#13 0x082e4b20 in main (argc=2, argv=0xbffffae4) at
/usr/src/php-5.1.2/sapi/cli/php_cli.c:1230

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

[2006-01-14 01:34:05] php_nospam at ramihyn dot sytes dot net

Verified this bug with all 5.0.x and 5.1.x versions on both OS (except
5.1.2 on Debian; currently compiling for a backtrace)

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

[2006-01-14 01:19:08] [EMAIL PROTECTED]

Dmitry, please check it out.
Looks like a chicken-and-egg problem to me.

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

[2006-01-14 01:13:32] php_nospam at ramihyn dot sytes dot net

Description:
------------
segfault caused by setting properties to null in __destruct()

Reproduce code:
---------------
<?php

class Person {
        public $dad;
        public function __destruct() {
                $this->dad = null; /* no segfault if this is commented out */
        }
}

class Dad extends Person {
        public $son;
        public function __construct() {
                $this->son = new Person;
                $this->son->dad = $this; /* no segfault if this is commented 
out */
        }
        public function __destruct() {
                $this->son = null;
                parent::__destruct(); /* segfault here */
        }
}

$o = new Dad;
unset($o);

?>

Expected result:
----------------
No segfault

Actual result:
--------------
PHP crashes due to a segfault (crashes apache worker thread when
running as apache module)



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


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

Reply via email to