[php-maint] Bug#535770: Segmentation fault with php 5.3

jidanni at jidanni.org jidanni at jidanni.org
Sun Jul 5 23:32:08 UTC 2009


I found the (location of) the problem,
zif_timezone_identifiers_list! More below.

>>>>> "sf" == sean finney <seanius at 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 at 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.





More information about the pkg-php-maint mailing list