Every hour or so an Apache child process seg. faults on our web server. We are running a non-threaded PHP 5.2.17 Apache module with Apache prefork MPM. I have run httpd with a few core dumps, gdb and this .gdbinit file from php's github repo, typing this command into gdb for each:
With no experience with gdb or the inner-workings of the php interpreter, I can't make anything from the results.
core.22762 [0x53896ef0] () :-2118682552 [0x538977a0] () /Statement/Interface.php:113 [0x538978a0] /Zend/Db/Statement/Interface.php() core.22791 [0x538977a0] () @:0 [0x538978a0] () core.5568 [0x53896ef0] () :2061035360 [0x538977a0] () :1767992432 [0x538978a0] () core.30384 [0x538977a0] () :0 [0x538978a0] () core.3091 [0x53896ef0] mysql_query():992424253 [0x538977a0] () ~:17 [0x538978a0] ()
(core.3091 also shows this after
Program terminated with signal 11, Segmentation fault.)
#0 0x00002b6e7ad8d67d in zend_do_fcall_common_helper_SPEC (execute_data=0x7fff53896ef0) at /usr/src/debug/php-5.2.17/Zend/zend_vm_execute.h:217 217 EX_T(opline->result.u.var).var.fcall_returned_reference = return_reference;
Is there something else that I can type in gdb to get a better stack trace? Is there anything else that you do when debugging Apache segmentation faults?
Any help would be greatly appreciated, thanks.