Edit report at https://bugs.php.net/bug.php?id=65784&edit=1
ID: 65784 User updated by: r dot wilczek at web-appz dot de Reported by: r dot wilczek at web-appz dot de Summary: Segfault with finally Status: Open Type: Bug Package: *General Issues Operating System: Linux PHP Version: 5.5.4 Block user comment: N Private report: N New Comment: (The second core-dump is created without xdebug, to keep things simple) Previous Comments: ------------------------------------------------------------------------ [2013-09-29 12:25:34] r dot wilczek at web-appz dot de #0 0x0000000000a41895 in zval_delref_p (pz=0x0) at /root/php-5.5.4/php-5.5.4/Zend/zend.h:409 #1 0x0000000000a4330c in zend_pzval_unlock_func (z=0x0, should_free=0x7fffa8aa9e90, unref=1) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute.c:72 #2 0x0000000000a4341b in _get_zval_ptr_var (var=4294967232, execute_data=0x7f1fceaa5098, should_free=0x7fffa8aa9e90) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute.c:186 #3 0x0000000000a63e15 in ZEND_SEND_VAR_NO_REF_SPEC_VAR_HANDLER (execute_data=0x7f1fceaa5098) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:13081 #4 0x0000000000a480cf in execute_ex (execute_data=0x7f1fceaa5098) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #5 0x0000000000a48157 in zend_execute (op_array=0x2e129f0) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #6 0x00000000009f6785 in zend_call_function (fci=0x7fffa8aaa100, fci_cache=0x7fffa8aaa0d0) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute_API.c:939 #7 0x000000000076285c in zim_reflection_method_invokeArgs (ht=2, return_value=0x2e3b2d0, return_value_ptr=0x0, this_ptr=0x2e3b450, return_value_used=1) at /root/php-5.5.4/php-5.5.4/ext/reflection/php_reflection.c:3018 #8 0x0000000000a489de in zend_do_fcall_common_helper_SPEC (execute_data=0x7f1fceaa49e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:550 #9 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f1fceaa49e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #10 0x0000000000a480cf in execute_ex (execute_data=0x7f1fceaa49e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #11 0x0000000000a48157 in zend_execute (op_array=0x7f1fcead9b60) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #12 0x0000000000a0a27f in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /root/php-5.5.4/php-5.5.4/Zend/zend.c:1318 #13 0x0000000000976e9e in php_execute_script (primary_file=0x7fffa8aad7a0) at /root/php-5.5.4/php-5.5.4/main/main.c:2489 #14 0x0000000000ab7ac7 in do_cli (argc=5, argv=0x263beb0) at /root/php-5.5.4/php-5.5.4/sapi/cli/php_cli.c:994 #15 0x0000000000ab8bff in main (argc=5, argv=0x263beb0) at /root/php-5.5.4/php-5.5.4/sapi/cli/php_cli.c:1378 ------------------------------------------------------------------------ [2013-09-29 12:18:45] r dot wilczek at web-appz dot de Description: ------------ The structures try { return foo(); } finally { bar(); } or try { return foo(); } catch (Exception $e) { throw $e; } finally { bar(); } under some circumstances segfault, whereas the equivalent structure try { $result = foo(); bar(); return $result; } catch (Exception $e) { bar(); throw $e; } works as expected. Test script: --------------- It's hard to reproduce the failure, because it occured within a "PHPUnit Mock Monster", and I failed to reproduce it with a simple script. All I can show is the core-dump below, which is produced by a try { return foo(); } finally { bar(); } Expected result: ---------------- No Segmentation fault Actual result: -------------- Segmentation fault #0 0x0000000000a41895 in zval_delref_p (pz=0x0) at /root/php-5.5.4/php-5.5.4/Zend/zend.h:409 #1 0x0000000000a4330c in zend_pzval_unlock_func (z=0x0, should_free=0x7fff17175fe0, unref=1) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute.c:72 #2 0x0000000000a4341b in _get_zval_ptr_var (var=4294967232, execute_data=0x7fea01fe0098, should_free=0x7fff17175fe0) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute.c:186 #3 0x0000000000a63e15 in ZEND_SEND_VAR_NO_REF_SPEC_VAR_HANDLER (execute_data=0x7fea01fe0098) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:13081 #4 0x0000000000a4a772 in ZEND_USER_OPCODE_SPEC_HANDLER (execute_data=0x7fea01fe0098) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:1119 #5 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fe0098) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #6 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fe0098) at /tmp/pear/temp/xdebug/xdebug.c:1437 #7 0x0000000000a48157 in zend_execute (op_array=0x1e07960) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #8 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdff10) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #9 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdff10) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #10 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdff10) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #11 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdff10) at /tmp/pear/temp/xdebug/xdebug.c:1437 #12 0x0000000000a48157 in zend_execute (op_array=0x1e2e1e0) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #13 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdfc38) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #14 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdfc38) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #15 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdfc38) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #16 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdfc38) at /tmp/pear/temp/xdebug/xdebug.c:1437 #17 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb75d630) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #18 0x00000000009f6785 in zend_call_function (fci=0x7fff171766d0, fci_cache=0x7fff171766a0) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute_API.c:939 #19 0x000000000076285c in zim_reflection_method_invokeArgs (ht=2, return_value=0x7fe9fb705d90, return_value_ptr=0x0, this_ptr=0x7fe9fb7048b0, return_value_used=1) at /root/php-5.5.4/php-5.5.4/ext/reflection/php_reflection.c:3018 #20 0x0000000000a47936 in execute_internal (execute_data_ptr=0x7fea01fdf9e8, fci=0x0, return_value_used=1) at /root/php-5.5.4/php-5.5.4/Zend/zend_execute.c:1485 #21 0x00007fe9fbfd3118 in xdebug_execute_internal (current_execute_data=0x7fea01fdf9e8, fci=0x0, return_value_used=1) at /tmp/pear/temp/xdebug/xdebug.c:1553 #22 0x0000000000a48a0e in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdf9e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:552 #23 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdf9e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 ---Type <return> to continue, or q <return> to quit--- #24 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdf9e8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #25 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdf9e8) at /tmp/pear/temp/xdebug/xdebug.c:1437 #26 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb6ded80) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #27 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdef70) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #28 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdef70) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #29 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdef70) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #30 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdef70) at /tmp/pear/temp/xdebug/xdebug.c:1437 #31 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb6deb90) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #32 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fddc88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #33 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fddc88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #34 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fddc88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #35 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fddc88) at /tmp/pear/temp/xdebug/xdebug.c:1437 #36 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb69c850) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #37 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdc7d8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #38 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdc7d8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #39 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdc7d8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #40 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdc7d8) at /tmp/pear/temp/xdebug/xdebug.c:1437 #41 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb6e6808) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #42 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdb768) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #43 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdb768) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #44 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdb768) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #45 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdb768) at /tmp/pear/temp/xdebug/xdebug.c:1437 #46 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb6a9f30) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #47 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fdb540) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #48 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fdb540) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #49 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fdb540) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #50 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fdb540) at /tmp/pear/temp/xdebug/xdebug.c:1437 #51 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb6a5538) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 ---Type <return> to continue, or q <return> to quit--- #52 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fda210) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #53 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fda210) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #54 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fda210) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #55 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fda210) at /tmp/pear/temp/xdebug/xdebug.c:1437 #56 0x0000000000a48157 in zend_execute (op_array=0x7fe9fb880078) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #57 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fd7d88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #58 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fd7d88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #59 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fd7d88) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #60 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fd7d88) at /tmp/pear/temp/xdebug/xdebug.c:1437 #61 0x0000000000a48157 in zend_execute (op_array=0x7fea01e62598) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #62 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fd7470) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #63 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fd7470) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #64 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fd7470) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #65 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fd7470) at /tmp/pear/temp/xdebug/xdebug.c:1437 #66 0x0000000000a48157 in zend_execute (op_array=0x7fea01e57b10) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #67 0x0000000000a48bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x7fea01fd72c8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:584 #68 0x0000000000a491b0 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7fea01fd72c8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:685 #69 0x0000000000a480cf in execute_ex (execute_data=0x7fea01fd72c8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:363 #70 0x00007fe9fbfd2c57 in xdebug_execute_ex (execute_data=0x7fea01fd72c8) at /tmp/pear/temp/xdebug/xdebug.c:1437 #71 0x0000000000a48157 in zend_execute (op_array=0x7fea01e56eb8) at /root/php-5.5.4/php-5.5.4/Zend/zend_vm_execute.h:388 #72 0x0000000000a0a27f in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /root/php-5.5.4/php-5.5.4/Zend/zend.c:1318 #73 0x0000000000976e9e in php_execute_script (primary_file=0x7fff1717aeb0) at /root/php-5.5.4/php-5.5.4/main/main.c:2489 #74 0x0000000000ab7ac7 in do_cli (argc=5, argv=0x1932ee0) at /root/php-5.5.4/php-5.5.4/sapi/cli/php_cli.c:994 #75 0x0000000000ab8bff in main (argc=5, argv=0x1932ee0) at /root/php-5.5.4/php-5.5.4/sapi/cli/php_cli.c:1378 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=65784&edit=1