ID: 40479 Comment by: john dot glazebrook at guava dot co dot uk Reported By: rrossi at maggioli dot it Status: No Feedback Bug Type: Reproducible crash Operating System: Suse Linux 9.0 PHP Version: 5.2.1 New Comment:
Um, one more thing. As a programmer of 10+ years having programmed about 7 or 8 languages seriously over that time, this feels like a race condition. Occasionally the page request works. Putting in sleep commands effects where in the script it crashes. Attaching the debugger and slowly stepping through the code causes it not to crash. John Previous Comments: ------------------------------------------------------------------------ [2008-09-30 09:33:54] john dot glazebrook at guava dot co dot uk Here I am following the instructions on: http://bugs.php.net/bugs-generating-backtrace.php (gdb) frame 1 #1 0x01209ee9 in execute_internal (execute_data_ptr=0xbff61270, return_value_used=1) at /home/admin/downloads/php-5.2.6/Zend/zend_execute.c:1373 1373 ((zend_internal_function *) execute_data_ptr->function_state.function)->handler(execute_data_ptr->opline->extended_value, *return_value_ptr, execute_data_ptr->function_state.function->common.return_reference?return_value_ptr:NULL, execute_data_ptr->object, return_value_used TSRMLS_CC); (gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name $1 = 0x136e2a3 "strlen" I have a copy of this core dump, if you want it email me :-) My previous comments tell my story... john ------------------------------------------------------------------------ [2008-09-30 09:25:50] john dot glazebrook at guava dot co dot uk OK, it took me a couple of days to figure out how to do a core debug, but here is the offending gdb info: #0 0x011faba6 in zend_if_strlen (ht=1, return_value=0xb77ef1ec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/admin/downloads/php-5.2.6/Zend/zend_builtin_functions.c:286 286 RETVAL_LONG(Z_STRLEN_PP(str)); (gdb) bt #0 0x011faba6 in zend_if_strlen (ht=1, return_value=0xb77ef1ec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/admin/downloads/php-5.2.6/Zend/zend_builtin_functions.c:286 #1 0x01209ee9 in execute_internal (execute_data_ptr=0xbff61270, return_value_used=1) at /home/admin/downloads/php-5.2.6/Zend/zend_execute.c:1373 #2 0x005e31b0 in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #3 0x0120a990 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff61270) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:202 #4 0x01209fcd in execute (op_array=0xb77a99b4) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #5 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #6 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff61730) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #7 0x01209fcd in execute (op_array=0xb77b07e8) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #8 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #9 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff618a0) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #10 0x01209fcd in execute (op_array=0xb77bc560) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #11 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #12 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff61af0) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #13 0x01209fcd in execute (op_array=0xb77da2dc) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #14 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #15 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff61c90) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #16 0x01209fcd in execute (op_array=0xb77da62c) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #17 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #18 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff61ee0) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #19 0x01209fcd in execute (op_array=0xb77da2dc) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #20 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #21 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff62080) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #22 0x01209fcd in execute (op_array=0xb77da62c) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #23 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #24 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff622d0) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #25 0x01209fcd in execute (op_array=0xb77da2dc) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #26 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #27 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff62470) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #28 0x01209fcd in execute (op_array=0xb77da62c) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 #29 0x005e312d in php_DBG_init_globals () from /usr/local/lib/php/extensions/no-debug-non-zts-20060613/dbg.so-5.2.x #30 0x0120a219 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff62940) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:234 #31 0x01209fcd in execute (op_array=0xb779aa6c) at /home/admin/downloads/php-5.2.6/Zend/zend_vm_execute.h:92 ------------------------------------------------------------------------ [2008-09-29 13:34:44] john dot glazebrook at gauva dot co dot uk > For me it looks like a hardware problem (dead memory segments), please > use a memory testing tool (e.g. memtest86 [1]) or try to reproduce the > bug on an other computer. Dead memory segments can cause exactly that > sort of problems (corrupted memory, crashes, etc). (See my previous messages posted above...) I just tried my code on a brand new HP server, this time on CentOS 5.2, PHP 5.2.0, MySQLI 5.0.45. I still get seg faults in httpd error logs files. So I don't see how this is a hardware fault. I see this error using the same PHP code on 3 different servers, 2 different operating systems and 2 different MySQL versions. I also changed my tables from MyISAM to InnoDB and *STILL* get seg faults. I use Zend Framework and I have changed DB adapters from Mysqli to PDO_MYSQL, but both cause seg faults. Does that cover everything apart from the PHP version? monk.e.boy ------------------------------------------------------------------------ [2008-08-17 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2008-08-09 16:31:38] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a backtrace to see what is happening behind the scenes. To find out how to generate a backtrace, please read http://bugs.php.net/bugs-generating-backtrace.php for *NIX and http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32 Once you have generated a backtrace, please submit it to this bug report and change the status back to "Open". Thank you for helping us make PHP better. Also, all problems reported here have different causes but seems to be triggered when starting to use more memory, and the bug disappears when using less memory, or by changing/commenting a random line in your code. For me it looks like a hardware problem (dead memory segments), please use a memory testing tool (e.g. memtest86 [1]) or try to reproduce the bug on an other computer. Dead memory segments can cause exactly that sort of problems (corrupted memory, crashes, etc). [1] memtest86 http://www.memtest.org/#downiso ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/40479 -- Edit this bug report at http://bugs.php.net/?id=40479&edit=1