#23299 [Opn]: Intermittant but reproducable corruption and crash

From: Date: Tue, 22 Apr 2003 17:50:47 +0000
Subject: #23299 [Opn]: Intermittant but reproducable corruption and crash
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-38078@lists.php.net to get a copy of this message
ID: 23299 User updated by: bginter at ndevtech dot net Reported By: bginter at ndevtech dot net Status: Open Bug Type: Reproducible crash Operating System: Linux 2.4.20 PHP Version: 4.3.1, STABLE-200304220130 New Comment: I have disabled --enable-versioning. This new trace is against PHP 4.3.1: Program received signal SIGSEGV, Segmentation fault. 0x4040f604 in zval_add_ref (p=0x8872d20) at /usr/local/src/php-4.3.1/Zend/zend_variables.c:85 85 (*p)->refcount++; (gdb) bt #0 0x4040f604 in zval_add_ref (p=0x8872d20) at /usr/local/src/php-4.3.1/Zend/zend_variables.c:85 #1 0x40417e38 in zend_hash_copy (target=0x8872fb4, source=0x8853b3c, pCopyConstructor=0x4040f5fc <zval_add_ref>, tmp=0xbffeead4, size=4) at /usr/local/src/php-4.3.1/Zend/zend_hash.c:789 #2 0x4040f851 in _zval_copy_ctor (zvalue=0x88750bc, __zend_filename=0x404e02e0 "/usr/local/src/php-4.3.1/Zend/zend_execute.c", __zend_lineno=1785) at /usr/local/src/php-4.3.1/Zend/zend_variables.c:137 #3 0x40425201 in execute (op_array=0x8268ccc) at /usr/local/src/php-4.3.1/Zend/zend_execute.c:1785 #4 0x40424814 in execute (op_array=0x8263714) at /usr/local/src/php-4.3.1/Zend/zend_execute.c:1640 #5 0x40424814 in execute (op_array=0x891ebc4) at /usr/local/src/php-4.3.1/Zend/zend_execute.c:1640 #6 0x40411584 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/local/src/php-4.3.1/Zend/zend.c:864 #7 0x403d66c3 in php_execute_script (primary_file=0xbffff8c8) at /usr/local/src/php-4.3.1/main/main.c:1573 #8 0x40429ad0 in apache_php_module_main (r=0x815867c, display_source_mode=0) at /usr/local/src/php-4.3.1/sapi/apache/sapi_apache.c:55 #9 0x4042aa70 in send_php (r=0x815867c, display_source_mode=0, filename=0x815a894 "/usr/local/apache/lariat/lariat2/admin/debtor/transaction_controller.php") at /usr/local/src/php-4.3.1/sapi/apache/mod_php4.c:556 #10 0x4042aaef in send_parsed_php (r=0x815867c) at /usr/local/src/php-4.3.1/sapi/apache/mod_php4.c:571 #11 0x080554e9 in ap_invoke_handler () #12 0x0806b5df in process_request_internal () #13 0x0806b646 in ap_process_request () #14 0x08061e06 in child_main () #15 0x08061fe5 in make_child () #16 0x0806215c in startup_children () #17 0x080627ed in standalone_main () #18 0x0806307c in main () #19 0x4009214f in __libc_start_main () from /lib/libc.so.6 (gdb) frame 3 #3 0x40425201 in execute (op_array=0x8268ccc) at /usr/local/src/php-4.3.1/Zend/zend_execute.c:1785 1785 zval_copy_ctor(varptr); (gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name $1 = 0x826379c "slice_transaction_debt" (gdb) print (char *)executor_globals.active_op_array->function_name $2 = 0x826379c "slice_transaction_debt" (gdb) print (char *)executor_globals.active_op_array->filename $3 = 0x8323074 "/usr/local/apache/lariat/lariat2/classes/transaction.class.php" Previous Comments: ------------------------------------------------------------------------ [2003-04-22 03:07:30] rasmus@php.net Could you rebuild without --enable-versioning? ------------------------------------------------------------------------ [2003-04-22 03:01:33] bginter at ndevtech dot net Ahh, I should have thought of that. I have disabled the Zend Optimizer and while I still usually get the same type of backtraces I've already sent, here is a new one: Program received signal SIGSEGV, Segmentation fault. 0x400e7bdd in free () from /lib/libc.so.6 (gdb) bt #0 0x400e7bdd in free () from /lib/libc.so.6 #1 0x400e7aa3 in free () from /lib/libc.so.6 #2 0x40509eb5 in PQclear () from /usr/local/pgsql-7.3/lib/libpq.so.2 #3 0x40305634 in object.11 () from /usr/local/apache/libexec/libphp4.so #4 0x403b416d in object.11 () from /usr/local/apache/libexec/libphp4.so #5 0x403b2cd2 in object.11 () from /usr/local/apache/libexec/libphp4.so #6 0x403b3f0b in object.11 () from /usr/local/apache/libexec/libphp4.so #7 0x403ad802 in object.11 () from /usr/local/apache/libexec/libphp4.so #8 0x403a5e59 in object.11 () from /usr/local/apache/libexec/libphp4.so #9 0x403b2d9e in object.11 () from /usr/local/apache/libexec/libphp4.so #10 0x403ad7eb in object.11 () from /usr/local/apache/libexec/libphp4.so #11 0x403bdd07 in object.11 () from /usr/local/apache/libexec/libphp4.so #12 0x403c07ca in object.11 () from /usr/local/apache/libexec/libphp4.so #13 0x403c07ca in object.11 () from /usr/local/apache/libexec/libphp4.so #14 0x403c07ca in object.11 () from /usr/local/apache/libexec/libphp4.so #15 0x403c07ca in object.11 () from /usr/local/apache/libexec/libphp4.so #16 0x403c4ebb in object.11 () from /usr/local/apache/libexec/libphp4.so #17 0x403aed5e in object.11 () from /usr/local/apache/libexec/libphp4.so #18 0x4038755a in object.11 () from /usr/local/apache/libexec/libphp4.so #19 0x403c714e in object.11 () from /usr/local/apache/libexec/libphp4.so #20 0x403c7c7e in object.11 () from /usr/local/apache/libexec/libphp4.so #21 0x403c7ce2 in object.11 () from /usr/local/apache/libexec/libphp4.so #22 0x080554e9 in ap_invoke_handler () #23 0x0806b5df in process_request_internal () #24 0x0806b646 in ap_process_request () #25 0x08061e06 in child_main () #26 0x08061fe5 in make_child () #27 0x0806215c in startup_children () #28 0x080627ed in standalone_main () #29 0x0806307c in main () #30 0x4009214f in __libc_start_main () from /lib/libc.so.6 I still get the other traces too and during gdb startup, I get these lines: (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... Do all the other programs/libraries have to be compiled with debugging for these backtraces to be of use to you? I'm guessing those warnings are for apache and other libraries. Thanks. ------------------------------------------------------------------------ [2003-04-22 02:38:10] rasmus@php.net Turn off ZendOptimizer please and try it again. ------------------------------------------------------------------------ [2003-04-22 02:07:46] bginter at ndevtech dot net I have been generating these backtraces by running gdb and typing 'bt' just like you suggested. Please excuse my ignorance with gdb and let me know if I should try a different approach. I have so far not been able to get httpd to dump a core file even though ulimit -c is unlimited and there are write permissions on the directory for the httpd user. Perhaps I'm missing something obvious? I was able to get this trace a few minutes ago but several other traces have all contained the same limited object.11 gibberish I sent earlier: (gdb) bt #0 0x40143277 in writev () from /lib/libc.so.6 #1 0x08053cd7 in writev_it_all () #2 0x0805410b in large_write () #3 0x080541d7 in ap_bwrite () #4 0x08068291 in ap_rwrite () #5 0x403c724b in object.11 () from /usr/local/apache/libexec/libphp4.so #6 0x40394813 in object.11 () from /usr/local/apache/libexec/libphp4.so #7 0x4039396a in object.11 () from /usr/local/apache/libexec/libphp4.so #8 0x403861a9 in object.11 () from /usr/local/apache/libexec/libphp4.so #9 0x403addcb in object.11 () from /usr/local/apache/libexec/libphp4.so #10 0x403add65 in object.11 () from /usr/local/apache/libexec/libphp4.so #11 0x403ad980 in object.11 () from /usr/local/apache/libexec/libphp4.so #12 0x40614686 in zend_assign_to_variable_reference () from /usr/local/ZendOptimizer/lib/ZendOptimizer.so #13 0x4061f6e6 in zend_assign_to_variable_reference () from /usr/local/ZendOptimizer/lib/ZendOptimizer.so #14 0x4061f6e6 in zend_assign_to_variable_reference () from /usr/local/ZendOptimizer/lib/ZendOptimizer.so #15 0x40622a02 in zend_oe () from /usr/local/ZendOptimizer/lib/ZendOptimizer.so #16 0x4038755a in object.11 () from /usr/local/apache/libexec/libphp4.so #17 0x403c714e in object.11 () from /usr/local/apache/libexec/libphp4.so #18 0x403c7c7e in object.11 () from /usr/local/apache/libexec/libphp4.so #19 0x403c7ce2 in object.11 () from /usr/local/apache/libexec/libphp4.so #20 0x080554e9 in ap_invoke_handler () #21 0x0806b5df in process_request_internal () #22 0x0806b646 in ap_process_request () #23 0x08061e06 in child_main () #24 0x08061fe5 in make_child () #25 0x0806215c in startup_children () #26 0x080627ed in standalone_main () #27 0x0806307c in main () #28 0x4009214f in __libc_start_main () from /lib/libc.so.6 Please let me know how I can help further. Thank you for your efforts! ------------------------------------------------------------------------ [2003-04-22 01:10:27] rasmus@php.net These are useless backtraces. How are you getting them? Try something like: gdb ./httpd run -X Then hit the server and try to reproduce the problem and type: bt when it dumps. ------------------------------------------------------------------------ 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/23299 -- Edit this bug report at http://bugs.php.net/?id=23299&edit=1

« previous php.bugs (#38078) next »