ID: 45434 Updated by: [EMAIL PROTECTED] Reported By: php at benjaminschulz dot com -Status: Assigned +Status: Closed Bug Type: Reproducible crash Operating System: linux, osx PHP Version: 5.3CVS-2008-07-04 (CVS) Assigned To: dmitry New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-07-04 20:59:05] [EMAIL PROTECTED] (gdb) bt #0 0x082d6232 in zend_objects_destroy_object (object=0x89f0bc0, handle=2) at /home/johannes/src/php/PHP_5_3/Zend/zend_objects.c:111 #1 0x082d5146 in gc_collect_cycles () at /home/johannes/src/php/PHP_5_3/Zend/zend_gc.c:561 #2 0x082c9223 in zif_gc_collect_cycles (ht=0, return_value=0x89ef718, return_value_ptr=0x0, this_ptr=0x0, return_value_used=0) at /home/johannes/src/php/PHP_5_3/Zend/zend_builtin_functions.c:184 #3 0x082f2361 in zend_do_fcall_common_helper_SPEC (execute_data=0x8a1fd20) at /home/johannes/src/php/PHP_5_3/Zend/zend_vm_execute.h:313 #4 0x082e039e in execute (op_array=0x89ede88) at /home/johannes/src/php/PHP_5_3/Zend/zend_vm_execute.h:104 #5 0x082ba286 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/johannes/src/php/PHP_5_3/Zend/zend.c:1198 #6 0x08269487 in php_execute_script (primary_file=0xbff2c988) at /home/johannes/src/php/PHP_5_3/main/main.c:2082 #7 0x0832dcc4 in main (argc=1, argv=0xbff2cae4) at /home/johannes/src/php/PHP_5_3/sapi/cli/php_cli.c:1139 ------------------------------------------------------------------------ [2008-07-04 20:25:34] php at benjaminschulz dot com Oops, i missed one important point: the segfault occurs if an exception is thrown ;) Sorry, it's too late for me today. ------------------------------------------------------------------------ [2008-07-04 20:14:21] php at benjaminschulz dot com Description: ------------ A circular reference causes gc_collect_cycles() to segfault. I know there is another bug that looks similar (#36482) but i think this is a far better (because simpler) test case. Reproduce code: --------------- <?php class foo { public $foo; public function __destruct() { throw new Exception("foobar"); } } $f1 = new foo; $f2 = new foo; $f1->foo = $f2; $f2->foo = $f1; unset($f1, $f2); // triggers a segfault gc_collect_cycles(); Actual result: -------------- $ php test.php Segmentation fault ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45434&edit=1
