I found the (location of) the problem, zif_timezone_identifiers_list! More below.
"sf" == sean finney seanius@debian.org writes:
sf> what would be the most helpful is if you could (a) install the 5.3 sf> version of php5-dbg and (b) get a core file and backtrace of this sf> crash in gdb. let me know if you have trouble doing this.
"TS" == Tim Starling tstarling@wikimedia.org writes:
TS> This is not a helpful error message. You will need to run Apache under TS> gdb to get anything sensible out of this.
TS> gdb /usr/bin/apache2 TS> run -X
TS> View the page in your browser, it should hit the segfault and gdb will TS> break out to another prompt. Then:
TS> bt
TS> That will give you a backtrace which will hopefully allow you to work TS> out what component to file a bug against.
OK, I read /usr/share/doc/apache2.2-common/README.backtrace and ended up installing a total of apache2-dbg libapr1-dbg libaprutil1-dbg gdb php5-dbg . Then, as one cannot just do # gdb `which apache2` on Debian, I did # /etc/init.d/apache2 start # cat /proc/$(pidof -s apache2)/environ|tr \0 ' ' # /etc/init.d/apache2 stop from which I deduced I should do the following # APACHE_PID_FILE=/var/run/apache2.pid APACHE_RUN_USER=www-data PATH=/usr/local/bin:/usr/bin:/bin PWD=/tmp APACHE_RUN_GROUP=www-data LANG=C gdb /usr/sbin/apache2 GNU gdb (GDB) 6.8.50.20090106-cvs-debian ... (no debugging symbols found) (gdb) run -X Starting program: /usr/sbin/apache2 -X (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0xb6756b90 (LWP 11989)] [Thread 0xb6756b90 (LWP 11989) exited]
Program received signal SIGSEGV, Segmentation fault. 0xb75d4670 in zif_timezone_identifiers_list (ht=0, return_value=0x8dbefec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /tmp/buildd/php5-5.3.0/ext/date/php_date.c:3787 3787 /tmp/buildd/php5-5.3.0/ext/date/php_date.c: No such file or directory. in /tmp/buildd/php5-5.3.0/ext/date/php_date.c (gdb) bt #0 0xb75d4670 in zif_timezone_identifiers_list (ht=0, return_value=0x8dbefec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /tmp/buildd/php5-5.3.0/ext/date/php_date.c:3787 #1 0xb792c153 in zend_do_fcall_common_helper_SPEC (execute_data=0x83b3950) at /tmp/buildd/php5-5.3.0/Zend/zend_vm_execute.h:313 #2 0xb7906536 in execute (op_array=0x83f12f8) at /tmp/buildd/php5-5.3.0/Zend/zend_vm_execute.h:104 #3 0xb78d8db6 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /tmp/buildd/php5-5.3.0/Zend/zend.c:1188 #4 0xb788074e in php_execute_script (primary_file=0xbffff5b0) at /tmp/buildd/php5-5.3.0/main/main.c:2196 #5 0xb7964f01 in php_handler (r=0x83a4ce0) at /tmp/buildd/php5-5.3.0/sapi/apache2handler/sapi_apache2.c:663 #6 0x0807c239 in ap_run_handler () #7 0x0807f659 in ap_invoke_handler () #8 0x0808d166 in ap_process_request ()...
So there you go zif_timezone_identifiers_list. So I hope the Debian PHP team will jump on the bug, as this is no place for junior programmer me.
jidanni@jidanni.org wrote:
Program received signal SIGSEGV, Segmentation fault. 0xb75d4670 in zif_timezone_identifiers_list (ht=0, return_value=0x8dbefec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /tmp/buildd/php5-5.3.0/ext/date/php_date.c:3787 3787 /tmp/buildd/php5-5.3.0/ext/date/php_date.c: No such file or directory. in /tmp/buildd/php5-5.3.0/ext/date/php_date.c
The bug is clearly Debian's fault. They have a huge and basically useless patch in this area which looks like it would cause a segfault if anything at all went wrong, such as the system timezone files being missing.
-- Tim Starling
mediawiki-l@lists.wikimedia.org