#23299 [Opn]: Intermittant but reproducable corruption and crash
| From: | bginter at ndevtech dot net | 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