ID:               34712
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jason at jasonjustman dot com
-Status:           Assigned
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: solars 10
 PHP Version:      5CVS-2005-10-03 (snap)
 Assigned To:      dmitry
 New Comment:

This test case must not work at all.

$ php -d "zend.ze1_compatibility_mode=1" bug34712.php

Fatal error: Cannot use 'parent' as class name as it is reserved in
/home/dmitry/php/test/bug34712.php on line 20

Without "parent" it works fine on Linux/i386.

Try to make full rebuild.


Previous Comments:
------------------------------------------------------------------------

[2005-10-03 11:24:37] [EMAIL PROTECTED]

Dmitry, you did something related to this lately?


------------------------------------------------------------------------

[2005-10-03 10:29:43] jason at jasonjustman dot com

last two lines of sample code should be:

$c = new child;
$a = new aggrevator($c);

------------------------------------------------------------------------

[2005-10-03 10:26:29] jason at jasonjustman dot com

still present:

(gdb) n
Single stepping until exit from function child_main,
which has no line number information.

Program received signal SIGSEGV, Segmentation fault.
0xfef36f20 in zend_objects_clone_obj (zobject=0xff3fffc8) at
/export/apache/php5-200510030630/Zend/zend_objects.c:167
167             new_obj_val = zend_objects_new(&new_object,
old_object->ce TSRMLS_CC);
(gdb) backtrace
#0  0xfef36f20 in zend_objects_clone_obj (zobject=0xff3fffc8) at
/export/apache/php5-200510030630/Zend/zend_objects.c:167
#1  0xfef36de0 in zval_add_ref_or_clone (p=0x0) at
/export/apache/php5-200510030630/Zend/zend_objects.c:129

sniped

------------------------------------------------------------------------

[2005-10-03 10:06:07] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------

[2005-10-03 10:05:08] jason at jasonjustman dot com

Description:
------------
segfault in solaris 10, using php-5.0.6-dev - php5-STABLE-200510030637


Program received signal SIGSEGV, Segmentation fault.
0xff019b38 in zend_objects_clone_obj (zobject=0xff3fffd8) at
/export/apache/php5-STABLE-200510030637/Zend/zend_objects.c:181
181             new_obj_val = zend_objects_new(&new_object,
old_object->ce TSRMLS_CC);

(gdb) backtrace
#0  0xff019b38 in zend_objects_clone_obj (zobject=0xff3fffd8) at
/export/apache/php5-STABLE-200510030637/Zend/zend_objects.c:181
#1  0xff019970 in zval_add_ref_or_clone (p=0x0) at
/export/apache/php5-STABLE-200510030637/Zend/zend_objects.c:127


Reproduce code:
---------------
can't exactly pin down reproduceable code, but it seems to be something
similar to the following:

class aggrevator {
 function aggrevator(&$obj) {
   $this->obj = &$obj;
   $this->_call();
 }
 function _call()
 {
  $this->obj->callback();
 }
}

class helper {
function helper(&$obj)
 {
  $this->obj_ref = &$obj;
 }
}

class parent { }
class child extends parent {
 function callback() {
   $this->_helper = new helper($this);
 }
}
  
$c = new child;
$h = new helper($c);


Expected result:
----------------
not to crash...


Actual result:
--------------
f'd in the a, segfault


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34712&edit=1

Reply via email to