| Anonymous | Login | Signup for a new account | 2013-05-19 01:53 BST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0000580 | Xdebug | Usage problems | public | 2010-05-14 14:19 | 2010-06-12 14:15 | ||||||
| Reporter | Daan | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||||
| Status | new | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | 2.0.0dev | ||||||||||
| Target Version | Fixed in Version | ||||||||||
| Summary | 0000580: Segfault with nested __destruct() calls | ||||||||||
| Description | Actual version used: Xdebug v2.0.5, PHP 5.2.13 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. See also: http://bugs.php.net/bug.php?id=51822 [^] | ||||||||||
| Additional Information | <?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'; | ||||||||||
| Tags | No tags attached. | ||||||||||
| Operating System | Debian Etch | ||||||||||
| PHP Version | 5.2.10 | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0001491) Daan (reporter) 2010-06-10 14:05 |
Bug was a PHP bug, solved in PHP codebase (see http://bugs.php.net/bug.php?id=51822 [^]) |
|
(0001492) derick (administrator) 2010-06-12 14:15 |
There is still a bug here in Xdebug as well: 5.2.13-dev with Xdebug-SVN: bla==5566== Invalid read of size 8 ==5566== at 0xC6DEB08: xdebug_execute (xdebug.c:1099) ==5566== by 0x8828BC: zend_call_function (zend_execute_API.c:1049) ==5566== by 0x8AB10B: zend_call_method (zend_interfaces.c:88) ==5566== by 0x8B3B33: zend_objects_destroy_object (zend_objects.c:101) ==5566== by 0x8B826B: zend_objects_store_del_ref_by_handle (zend_objects_API.c:198) ==5566== by 0x8B8131: zend_objects_store_del_ref (zend_objects_API.c:169) ==5566== by 0x88EBF4: _zval_dtor_func (zend_variables.c:51) ==5566== by 0x87F1AE: _zval_dtor (zend_variables.h:35) ==5566== by 0x88007E: _zval_ptr_dtor (zend_execute_API.c:414) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== by 0x89E473: zend_hash_destroy (zend_hash.c:526) ==5566== by 0x8B38B0: zend_object_std_dtor (zend_objects.c:45) ==5566== Address 0xbb24110 is 0 bytes inside a block of size 24 free'd ==5566== at 0x4C21DBC: free (vg_replace_malloc.c:325) ==5566== by 0x8708AD: _efree (zend_alloc.c:2308) ==5566== by 0x87F424: safe_free_zval_ptr_rel (zend_execute.h:70) ==5566== by 0x8800A2: _zval_ptr_dtor (zend_execute_API.c:415) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== by 0x89E848: zend_hash_apply_deleter (zend_hash.c:611) ==5566== by 0x89E9CE: zend_hash_graceful_reverse_destroy (zend_hash.c:646) ==5566== by 0x87FB24: shutdown_executor (zend_execute_API.c:239) ==5566== by 0x890665: zend_deactivate (zend.c:860) ==5566== by 0x836EB6: php_request_shutdown (main.c:1504) ==5566== by 0x91B34E: main (php_cli.c:1346) ==5566== ==5566== Invalid read of size 4 ==5566== at 0x89CA06: _zend_is_inconsistent (zend_hash.c:53) ==5566== by 0x89F3EF: zend_hash_find (zend_hash.c:875) ==5566== by 0xC6DEB21: xdebug_execute (xdebug.c:1099) ==5566== by 0x8828BC: zend_call_function (zend_execute_API.c:1049) ==5566== by 0x8AB10B: zend_call_method (zend_interfaces.c:88) ==5566== by 0x8B3B33: zend_objects_destroy_object (zend_objects.c:101) ==5566== by 0x8B826B: zend_objects_store_del_ref_by_handle (zend_objects_API.c:198) ==5566== by 0x8B8131: zend_objects_store_del_ref (zend_objects_API.c:169) ==5566== by 0x88EBF4: _zval_dtor_func (zend_variables.c:51) ==5566== by 0x87F1AE: _zval_dtor (zend_variables.h:35) ==5566== by 0x88007E: _zval_ptr_dtor (zend_execute_API.c:414) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== Address 0xbb241b4 is 68 bytes inside a block of size 72 free'd ==5566== at 0x4C21DBC: free (vg_replace_malloc.c:325) ==5566== by 0x8708AD: _efree (zend_alloc.c:2308) ==5566== by 0x88EBDD: _zval_dtor_func (zend_variables.c:43) ==5566== by 0x87F1AE: _zval_dtor (zend_variables.h:35) ==5566== by 0x88007E: _zval_ptr_dtor (zend_execute_API.c:414) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== by 0x89E848: zend_hash_apply_deleter (zend_hash.c:611) ==5566== by 0x89E9CE: zend_hash_graceful_reverse_destroy (zend_hash.c:646) ==5566== by 0x87FB24: shutdown_executor (zend_execute_API.c:239) ==5566== by 0x890665: zend_deactivate (zend.c:860) ==5566== by 0x836EB6: php_request_shutdown (main.c:1504) ==5566== by 0x91B34E: main (php_cli.c:1346) ==5566== ==5566== Invalid read of size 4 ==5566== at 0x89CA15: _zend_is_inconsistent (zend_hash.c:56) ==5566== by 0x89F3EF: zend_hash_find (zend_hash.c:875) ==5566== by 0xC6DEB21: xdebug_execute (xdebug.c:1099) ==5566== by 0x8828BC: zend_call_function (zend_execute_API.c:1049) ==5566== by 0x8AB10B: zend_call_method (zend_interfaces.c:88) ==5566== by 0x8B3B33: zend_objects_destroy_object (zend_objects.c:101) ==5566== by 0x8B826B: zend_objects_store_del_ref_by_handle (zend_objects_API.c:198) ==5566== by 0x8B8131: zend_objects_store_del_ref (zend_objects_API.c:169) ==5566== by 0x88EBF4: _zval_dtor_func (zend_variables.c:51) ==5566== by 0x87F1AE: _zval_dtor (zend_variables.h:35) ==5566== by 0x88007E: _zval_ptr_dtor (zend_execute_API.c:414) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== Address 0xbb241b4 is 68 bytes inside a block of size 72 free'd ==5566== at 0x4C21DBC: free (vg_replace_malloc.c:325) ==5566== by 0x8708AD: _efree (zend_alloc.c:2308) ==5566== by 0x88EBDD: _zval_dtor_func (zend_variables.c:43) ==5566== by 0x87F1AE: _zval_dtor (zend_variables.h:35) ==5566== by 0x88007E: _zval_ptr_dtor (zend_execute_API.c:414) ==5566== by 0x88EF44: _zval_ptr_dtor_wrapper (zend_variables.c:174) ==5566== by 0x89E848: zend_hash_apply_deleter (zend_hash.c:611) ==5566== by 0x89E9CE: zend_hash_graceful_reverse_destroy (zend_hash.c:646) ==5566== by 0x87FB24: shutdown_executor (zend_execute_API.c:239) ==5566== by 0x890665: zend_deactivate (zend.c:860) ==5566== by 0x836EB6: php_request_shutdown (main.c:1504) ==5566== by 0x91B34E: main (php_cli.c:1346) ==5566== |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2010-05-14 14:19 | Daan | New Issue | |
| 2010-05-14 14:19 | Daan | Operating System | => Debian Etch |
| 2010-05-14 14:19 | Daan | PHP Version | => 5.2.10 |
| 2010-05-14 14:19 | Daan | Xdebug Version | => 2.0.5 |
| 2010-06-10 14:05 | Daan | Note Added: 0001491 | |
| 2010-06-12 14:15 | derick | Note Added: 0001492 | |
| Copyright © 2000 - 2011 MantisBT Group |