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

Reply via email to