ID: 30707 User updated by: guth at fiifo dot u-psud dot fr Reported By: guth at fiifo dot u-psud dot fr Status: Assigned Bug Type: Zend Engine 2 problem Operating System: Linux PHP Version: 5.0.2 Assigned To: andi New Comment:
Same bug, different code. two hours lost :( The constructor contains a return statement, but it is only <?php class UserModuleTest { public function __construct($obj) { try { new UserModuleTest($this->query()); } catch(Exception $e) { } } public function query() { throw new Exception; } } $test = new UserModuleTest(new UserModuleTest()); ?> Previous Comments: ------------------------------------------------------------------------ [2004-11-10 19:02:50] [EMAIL PROTECTED] This code is much simplier IMO and demonstrates the same behaviour (both with 5.0.x & 5.1.x): <? class C { public function __construct() { $this->byePHP($this->plip()); } public function byePHP($plop) { echo "www.haricow.org"; } public function plip() { try { $this->plap($this->plop()); } catch(Exception $e) { } } public function plap($a) { } public function plop() { throw new Exception; } } new C; ?> ------------------------------------------------------------------------ [2004-11-07 00:08:56] guth at fiifo dot u-psud dot fr Description: ------------ I get another segmentation fault... You can look at the reproduce code. Reproduce code: --------------- <?php class B { public function plip() { try { $this->plap($this->plop()); } catch(Exception $e) { } } public function plap($a) { } public function plop() { throw new Exception; } } class C { public function __construct() { $b = new B; $this->byePHP($b->plip()); } public function byePHP($plop) { echo "www.haricow.org"; } } new C; ?> Expected result: ---------------- www.haricow.org Actual result: -------------- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1075737248 (LWP 3881)] 0x403d2373 in zend_do_fcall_common_helper (execute_data=0xbfffccd0, opline=0x8170c64, op_array=0x816f784) at /usr/src/php5/Zend/zend_execute.c:2656 2656 if (EX(function_state).function->common.fn_flags & ZEND_ACC_ABSTRACT) { (gdb) bt #0 0x403d2373 in zend_do_fcall_common_helper (execute_data=0xbfffccd0, opline=0x8170c64, op_array=0x816f784) at /usr/src/php5/Zend/zend_execute.c:2656 #1 0x403d2c63 in zend_do_fcall_by_name_handler (execute_data=0xbfffccd0, opline=0x8170c64, op_array=0x816f784) at /usr/src/php5/Zend/zend_execute.c:2825 #2 0x403cebee in execute (op_array=0x816f784) at /usr/src/php5/Zend/zend_execute.c:1400 #3 0x403d2791 in zend_do_fcall_common_helper (execute_data=0xbfffce20, opline=0x816b694, op_array=0x816706c) at /usr/src/php5/Zend/zend_execute.c:2740 #4 0x403d2c63 in zend_do_fcall_by_name_handler (execute_data=0xbfffce20, opline=0x816b694, op_array=0x816706c) at /usr/src/php5/Zend/zend_execute.c:2825 #5 0x403cebee in execute (op_array=0x816706c) at /usr/src/php5/Zend/zend_execute.c:1400 #6 0x403a9f5d in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/src/php5/Zend/zend.c:1060 #7 0x40362a94 in php_execute_script (primary_file=0xbffff190) at /usr/src/php5/main/main.c:1628 #8 0x403dab14 in apache_php_module_main (r=0x815c29c, display_source_mode=0) at /usr/src/php5/sapi/apache/sapi_apache.c:54 #9 0x403dba9f in send_php (r=0x815c29c, display_source_mode=0, filename=0x815cda4 "/www/test.php") at /usr/src/php5/sapi/apache/mod_php5.c:622 #10 0x403dbb18 in send_parsed_php (r=0x815c29c) at /usr/src/php5/sapi/apache/mod_php5.c:637 #11 0x08071e77 in ap_invoke_handler () #12 0x08086ebd in process_request_internal () #13 0x08086f1c in ap_process_request () #14 0x0807df40 in child_main () #15 0x0807e0e8 in make_child () #16 0x0807e24e in startup_children () #17 0x0807e90e in standalone_main () #18 0x0807f12c in main () ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30707&edit=1