ID: 22801 Updated by: [EMAIL PROTECTED] Reported By: fabrice dot lecoz at zedesk dot com -Status: Verified +Status: Closed Bug Type: Zend Engine 2 problem Operating System: win XP / Linux PHP Version: 5CVS-2003-03-20 (dev) New Comment:
fixed in cvs. Previous Comments: ------------------------------------------------------------------------ [2003-04-17 12:46:27] tim at timcrider dot com I get almost the same result using php5-200304171330, on Red Hat 8.0. The main difference is mine seg faults when trying to use __clone <?php class a { function __construct($n) { $this->name = $n; } function __clone() { print "cloning...\n"; $this->name = "test".$that->name; } } $x = New a("tito"); $y1 = $x; $y2 = $x->__clone(); print "test1 {$y1->name}\n"; print "test2 {$y2->name}\n"; ?> [Output] (towely) superunknown# /php5/bin/php -q clone.php cloning... Segmentation fault ------------------------------------------------------------------------ [2003-03-21 01:04:22] [EMAIL PROTECTED] 0x08276b1f in zend_do_fcall_common_helper (execute_data=0xbfffd1e0, op_array=0x4198d888) at /opt/dev/php/php5/Zend/zend_execute.c:2628 2628 if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION) { (gdb) bt full #0 0x08276b1f in zend_do_fcall_common_helper (execute_data=0xbfffd1e0, op_array=0x4198d888) at /opt/dev/php/php5/Zend/zend_execute.c:2628 original_return_value = (zval **) 0x0 current_scope = (zend_class_entry *) 0x0 current_this = (zval *) 0x0 return_value_used = 1 active_namespace = (zend_namespace *) 0x83c3bf4 #1 0x08277136 in zend_do_fcall_by_name_handler (execute_data=0xbfffd1e0, op_array=0x4198d888) at /opt/dev/php/php5/Zend/zend_execute.c:2731 No locals. #2 0x08272472 in execute (op_array=0x4198d888) at /opt/dev/php/php5/Zend/zend_execute.c:1242 execute_data = {opline = 0x4198df80, function_state = {function_symbol_table = 0x4198e960, function = 0x0, reserved = {0x0, 0x0, 0x4198d888, 0x0}}, fbc = 0x0, fbc_constructor = 0x41990dcc, op_array = 0x4198d888, object = 0x0, Ts = 0xbfffcebc, original_in_execution = 0 '\0', calling_scope = 0xbffff560, prev_execute_data = 0x0} #3 0x0825dcde in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /opt/dev/php/php5/Zend/zend.c:986 files = 0xbfffd294 "" i = 1 file_handle = (zend_file_handle *) 0xbffff560 orig_op_array = (zend_op_array *) 0x0 local_retval = (zval *) 0x0 #4 0x0821fffa in php_execute_script (primary_file=0xbffff560) at /opt/dev/php/php5/main/main.c:1587 orig_bailout = {{__jmpbuf = {1086526096, 1073819680, -1073744396, -1073744472, -1073744928, 136842824}, __mask_was_saved = 0, __saved_mask = {__val = { 0 <repeats 32 times>}}}} orig_bailout_set = 1 '\001' prepend_file_p = (zend_file_handle *) 0x0 append_file_p = (zend_file_handle *) 0x0 prepend_file = {type = 1 '\001', filename = 0x8493ef8 "STDIN", opened_path = 0x6 <Address 0x6 out of bounds>, handle = {fd = 138204648, fp = 0x83cd5e8, stream = { handle = 0x83cd5e8, reader = 0x3, closer = 0xc433217b, interactive = -1073744936}}, free_filename = 0 '\0'} append_file = {type = 1 '\001', filename = 0x8493f60 "STDOUT", opened_path = 0x7 <Address 0x7 out of bounds>, handle = {fd = 136489788, fp = 0x822ab3c, stream = { handle = 0x822ab3c, reader = 0x1, closer = 0, interactive = 1}}, free_filename = 7 '\a'} old_cwd = 0xbfffd29c "" old_primary_file_path = 0xbffff76a "22801.php" retval = 0 ------------------------------------------------------------------------ [2003-03-20 03:51:20] fabrice dot lecoz at zedesk dot com return of the __clone() method crash. <?php class test { var $name; function __construct($name) { $this->name = $name; } function __clone() { echo "cloning ...\n"; $this->name = "test ".$that->name; } } $test = new test("essai"); $test1 = $test; $test2 = $test->__clone(); $test1->name = "arthur"; echo "test : $test->name\n"; echo "test2 : $test2->name\n"; ?> -- expect -- cloning ... test : arthur test2 : test essai -- result -- cloning ... php crash AppName: php.exe AppVer: 5.0.0.0 ModName: php4ts.dll ModVer: 5.0.0.0 Offset: 000ee8a5 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22801&edit=1