Discussion:
[PHP-INSTALL] httpd segfault after 5.4.0 install
Joseph Koenig
2012-04-17 14:29:45 UTC
Permalink
Hi all,

I recently installed 5.4.0 on a CentOS 6.2 box and am now getting
segfaults anytime we try to draw a PDF file (with fpdf). My config line
is below:

./configure --with-apxs2=/usr/sbin/apxs --enable-cli --enable-exif
--enable-mbstring --enable-mbregex --enable-sockets --with-mysql
--with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --with-libdir=lib64
--with-zlib --with-gd --with-jpeg-dir=/usr/lib64 --enable-soap
--enable-calendar --with-freetype-dir=/usr/lib64 --with-libexpat-dir
--enable-ftp --enable-calendar --with-curl

Running gdb on the core dump from apache, I get this:

================================================
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-50.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/httpd...(no debugging symbols found)...done.
[New Thread 8237]
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libpcre.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libpcre.so.0
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /usr/lib64/libaprutil-1.so.0...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib64/libaprutil-1.so.0
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libexpat.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libexpat.so.1
Reading symbols from /lib64/libdb-4.7.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdb-4.7.so
Reading symbols from /usr/lib64/libapr-1.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libapr-1.so.0
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols
found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libdl.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libuuid.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libuuid.so.1
Reading symbols from /lib64/libfreebl3.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libfreebl3.so
Reading symbols from /lib64/librt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /etc/httpd/modules/mod_auth_basic.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_auth_basic.so
Reading symbols from /etc/httpd/modules/mod_auth_digest.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_auth_digest.so
Reading symbols from /etc/httpd/modules/mod_authn_file.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authn_file.so
Reading symbols from /etc/httpd/modules/mod_authn_alias.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authn_alias.so
Reading symbols from /etc/httpd/modules/mod_authn_anon.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authn_anon.so
Reading symbols from /etc/httpd/modules/mod_authn_dbm.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authn_dbm.so
Reading symbols from /etc/httpd/modules/mod_authn_default.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authn_default.so
Reading symbols from /etc/httpd/modules/mod_authz_host.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_host.so
Reading symbols from /etc/httpd/modules/mod_authz_user.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_user.so
Reading symbols from /etc/httpd/modules/mod_authz_owner.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_owner.so
Reading symbols from /etc/httpd/modules/mod_authz_groupfile.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_groupfile.so
Reading symbols from /etc/httpd/modules/mod_authz_dbm.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_dbm.so
Reading symbols from /etc/httpd/modules/mod_authz_default.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authz_default.so
Reading symbols from /etc/httpd/modules/mod_ldap.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_ldap.so
Reading symbols from /lib64/libldap-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libldap-2.4.so.2
Reading symbols from /lib64/liblber-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/liblber-2.4.so.2
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /usr/lib64/libssl3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssl3.so
Reading symbols from /usr/lib64/libsmime3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libsmime3.so
Reading symbols from /usr/lib64/libnss3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnss3.so
Reading symbols from /usr/lib64/libnssutil3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnssutil3.so
Reading symbols from /lib64/libplds4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libplds4.so
Reading symbols from /lib64/libplc4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libplc4.so
Reading symbols from /lib64/libnspr4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnspr4.so
Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libsasl2.so.2
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /etc/httpd/modules/mod_authnz_ldap.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_authnz_ldap.so
Reading symbols from /etc/httpd/modules/mod_include.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_include.so
Reading symbols from /etc/httpd/modules/mod_log_config.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_log_config.so
Reading symbols from /etc/httpd/modules/mod_logio.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_logio.so
Reading symbols from /etc/httpd/modules/mod_env.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_env.so
Reading symbols from /etc/httpd/modules/mod_ext_filter.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_ext_filter.so
Reading symbols from /etc/httpd/modules/mod_mime_magic.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_mime_magic.so
Reading symbols from /etc/httpd/modules/mod_expires.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_expires.so
Reading symbols from /etc/httpd/modules/mod_deflate.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_deflate.so
Reading symbols from /etc/httpd/modules/mod_headers.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_headers.so
Reading symbols from /etc/httpd/modules/mod_usertrack.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_usertrack.so
Reading symbols from /etc/httpd/modules/mod_setenvif.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_setenvif.so
Reading symbols from /etc/httpd/modules/mod_mime.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_mime.so
Reading symbols from /etc/httpd/modules/mod_dav.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_dav.so
Reading symbols from /etc/httpd/modules/mod_status.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_status.so
Reading symbols from /etc/httpd/modules/mod_autoindex.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_autoindex.so
Reading symbols from /etc/httpd/modules/mod_info.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_info.so
Reading symbols from /etc/httpd/modules/mod_dav_fs.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_dav_fs.so
Reading symbols from /etc/httpd/modules/mod_vhost_alias.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_vhost_alias.so
Reading symbols from /etc/httpd/modules/mod_negotiation.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_negotiation.so
Reading symbols from /etc/httpd/modules/mod_dir.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_dir.so
Reading symbols from /etc/httpd/modules/mod_actions.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_actions.so
Reading symbols from /etc/httpd/modules/mod_speling.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_speling.so
Reading symbols from /etc/httpd/modules/mod_userdir.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_userdir.so
Reading symbols from /etc/httpd/modules/mod_alias.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_alias.so
Reading symbols from /etc/httpd/modules/mod_substitute.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_substitute.so
Reading symbols from /etc/httpd/modules/mod_rewrite.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_rewrite.so
Reading symbols from /etc/httpd/modules/mod_proxy.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy.so
Reading symbols from /etc/httpd/modules/mod_proxy_balancer.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy_balancer.so
Reading symbols from /etc/httpd/modules/mod_proxy_ftp.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy_ftp.so
Reading symbols from /etc/httpd/modules/mod_proxy_http.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy_http.so
Reading symbols from /etc/httpd/modules/mod_proxy_ajp.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy_ajp.so
Reading symbols from /etc/httpd/modules/mod_proxy_connect.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_proxy_connect.so
Reading symbols from /etc/httpd/modules/mod_cache.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_cache.so
Reading symbols from /etc/httpd/modules/mod_suexec.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_suexec.so
Reading symbols from /etc/httpd/modules/mod_disk_cache.so...(no
debugging symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_disk_cache.so
Reading symbols from /etc/httpd/modules/mod_cgi.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_cgi.so
Reading symbols from /etc/httpd/modules/mod_version.so...(no debugging
symbols found)...done.
Loaded symbols for /etc/httpd/modules/mod_version.so
Reading symbols from /usr/lib64/httpd/modules/libphp5.so...done.
Loaded symbols for /usr/lib64/httpd/modules/libphp5.so
Reading symbols from /usr/lib64/libfreetype.so.6...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libfreetype.so.6
Reading symbols from /usr/lib64/libpng12.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libpng12.so.0
Reading symbols from /usr/lib64/libjpeg.so.62...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libjpeg.so.62
Reading symbols from /usr/lib64/libcurl.so.4...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libcurl.so.4
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /usr/lib64/libxml2.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libxml2.so.2
Reading symbols from /usr/lib64/mysql/libmysqlclient.so.16...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib64/mysql/libmysqlclient.so.16
Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssl.so.10
Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libcrypto.so.10
Reading symbols from /lib64/libidn.so.11...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libidn.so.11
Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libgssapi_krb5.so.2
Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkrb5.so.3
Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libk5crypto.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /usr/lib64/libssh2.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssh2.so.1
Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /usr/lib64/apr-util-1/apr_ldap-1.so...(no debugging
symbols found)...done.
Loaded symbols for /usr/lib64/apr-util-1/apr_ldap-1.so
Reading symbols from
/usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so...done.
Loaded symbols for
/usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so
Core was generated by `/usr/sbin/httpd -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f1126065d71 in zend_hash_quick_find (ht=0x7f1131b0c5a8,
arKey=0x7f11319e6b68 "pallets", nKeyLength=8, h=7572787671222906,
pData=0x7fff2733e9c8) at /usr/local/src/php-5.4.0/Zend/zend_hash.c:950
950 p = ht->arBuckets[nIndex];
Missing separate debuginfos, use: debuginfo-install
httpd-2.2.15-15.el6.centos.1.x86_64
=======================================

Any thoughts are appreciated. Thanks!
--
Joe Koenig
Creative Anvil
1346 Baur Blvd
Olivette, MO 63132
314-692-0338
***@creativeanvil.com
http://www.creativeanvil.com/
Christopher Jones
2012-04-17 15:34:54 UTC
Permalink
Post by Joseph Koenig
Hi all,
./configure --with-apxs2=/usr/sbin/apxs --enable-cli --enable-exif --enable-mbstring --enable-mbregex --enable-sockets --with-mysql
--with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --with-libdir=lib64 --with-zlib --with-gd --with-jpeg-dir=/usr/lib64 --enable-soap
--enable-calendar --with-freetype-dir=/usr/lib64 --with-libexpat-dir --enable-ftp --enable-calendar --with-curl
Loaded symbols for /usr/lib64/apr-util-1/apr_ldap-1.so
Reading symbols from /usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so...done.
Loaded symbols for /usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so
Core was generated by `/usr/sbin/httpd -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f1126065d71 in zend_hash_quick_find (ht=0x7f1131b0c5a8, arKey=0x7f11319e6b68 "pallets", nKeyLength=8, h=7572787671222906,
pData=0x7fff2733e9c8) at /usr/local/src/php-5.4.0/Zend/zend_hash.c:950
950 p = ht->arBuckets[nIndex];
Missing separate debuginfos, use: debuginfo-install httpd-2.2.15-15.el6.centos.1.x86_64
=======================================
Any thoughts are appreciated. Thanks!
--
Joe Koenig
Creative Anvil
1346 Baur Blvd
Olivette, MO 63132
314-692-0338
http://www.creativeanvil.com/
How recent did you install it? My initial thought is to disable APC.
The 3.1.10 version released last week fixed a few bugs that caused
crashes with PHP 5.4
http://pecl.php.net/package-changelog.php?package=APC&release=3.1.10
Note this version of APC incorrectly reports itself as 3.1.9
(https://bugs.php.net/bug.php?id=61695)

If this doesn't help, construct a small reproducible testcase and log
a bug at https://bugs.php.net/report.php
--
***@oracle.com
http://twitter.com/#!/ghrd
Joseph Koenig
2012-04-17 17:18:38 UTC
Permalink
Post by Christopher Jones
Post by Joseph Koenig
Hi all,
I recently installed 5.4.0 on a CentOS 6.2 box and am now getting
segfaults anytime we try to draw a PDF file (with fpdf). My config
./configure --with-apxs2=/usr/sbin/apxs --enable-cli --enable-exif
--enable-mbstring --enable-mbregex --enable-sockets --with-mysql
--with-mysqli=/usr/bin/mysql_config --with-pdo-mysql
--with-libdir=lib64 --with-zlib --with-gd --with-jpeg-dir=/usr/lib64
--enable-soap
--enable-calendar --with-freetype-dir=/usr/lib64 --with-libexpat-dir
--enable-ftp --enable-calendar --with-curl
Loaded symbols for /usr/lib64/apr-util-1/apr_ldap-1.so
Reading symbols from
/usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so...done.
Loaded symbols for
/usr/local/lib/php/extensions/no-debug-non-zts-20100525/apc.so
Core was generated by `/usr/sbin/httpd -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f1126065d71 in zend_hash_quick_find (ht=0x7f1131b0c5a8,
arKey=0x7f11319e6b68 "pallets", nKeyLength=8, h=7572787671222906,
pData=0x7fff2733e9c8) at /usr/local/src/php-5.4.0/Zend/zend_hash.c:950
950 p = ht->arBuckets[nIndex];
Missing separate debuginfos, use: debuginfo-install
httpd-2.2.15-15.el6.centos.1.x86_64
=======================================
Any thoughts are appreciated. Thanks!
--
Joe Koenig
Creative Anvil
1346 Baur Blvd
Olivette, MO 63132
314-692-0338
http://www.creativeanvil.com/
How recent did you install it? My initial thought is to disable APC.
The 3.1.10 version released last week fixed a few bugs that caused
crashes with PHP 5.4
http://pecl.php.net/package-changelog.php?package=APC&release=3.1.10
Note this version of APC incorrectly reports itself as 3.1.9
(https://bugs.php.net/bug.php?id=61695)
If this doesn't help, construct a small reproducible testcase and log
a bug at https://bugs.php.net/report.php
Installed it about a week and a half ago. Removing APC did nothing to
fix the issue. Bug #61757 filed.

Thanks!

Joe Koenig
Creative Anvil
Christopher Jones
2012-04-17 17:33:03 UTC
Permalink
Installed it about a week and a half ago. Removing APC did nothing to fix the issue. Bug #61757 filed.
Thanks!
Joe Koenig
Creative Anvil
I would really, really encourage you to put a complete testcase in the
bug. The PHP core developers simply don't have time to try and guess
what scaffolding they need to run your code. Since you have it
already, why not add it to the bug?

(I've spent more than my fair share of life in debugging the wrong
problems because I wasn't given testcases.)

Chris
--
***@oracle.com
http://twitter.com/#!/ghrd
Joseph Koenig
2012-04-17 18:47:58 UTC
Permalink
Post by Christopher Jones
Post by Joseph Koenig
Installed it about a week and a half ago. Removing APC did nothing to
fix the issue. Bug #61757 filed.
Thanks!
Joe Koenig
Creative Anvil
I would really, really encourage you to put a complete testcase in the
bug. The PHP core developers simply don't have time to try and guess
what scaffolding they need to run your code. Since you have it
already, why not add it to the bug?
(I've spent more than my fair share of life in debugging the wrong
problems because I wasn't given testcases.)
Chris
Thanks for the feedback. I'm not 100% sure where to go with the testcase
because if I pull out those 10 or so lines of code. I'm not necessarily
getting the segfault, but by the same token, those 10 lines of code are
definitely causing the issue. if I comment them out, the problem goes
away. They are about 3 or 4 classes deep from where execution starts and
rely on many other classes also.

I did just install 5.3.10 and verify that the problem does not exist
there. The same code executes just fine.

Open to thoughts or suggestions on how to best provide info to help
track down the source of the problem.

Thanks!

Joe
Christopher Jones
2012-04-17 19:15:29 UTC
Permalink
Post by Joseph Koenig
Chris
Thanks for the feedback. I'm not 100% sure where to go with the
testcase because if I pull out those 10 or so lines of code. I'm not
necessarily getting the segfault, but by the same token, those 10
lines of code are definitely causing the issue. if I comment them
out, the problem goes away. They are about 3 or 4 classes deep from
where execution starts and rely on many other classes also.
In general you could:

- Try the latest PHP 5.4 snapshot. Who knows, maybe a fix has already
been merged?

- remove any unnecessary extensions to eliminate them as culprits.

- keep trying to simplify the testcase. Without one, core PHP
developer will not be able to do much, if anything.

The problem could have been caused much earlier in your code but
only triggered by the lines you referenced.

- build with --enable-debug to provide more backtrace information

- See https://bugs.php.net/bugs-generating-backtrace.php

- Run 'httpd -X' to start Apache as a single process. Attach a
debugger to that process and then get a backtrace and poke around a
bit.
Post by Joseph Koenig
I did just install 5.3.10 and verify that the problem does not exist
there. The same code executes just fine.
Add that to the bug. All info helps.

Chris
Post by Joseph Koenig
Open to thoughts or suggestions on how to best provide info to help track down the source of the problem.
Thanks!
Joe
--
***@oracle.com
http://twitter.com/#!/ghrd
Joseph Koenig
2012-04-17 20:26:23 UTC
Permalink
Post by Christopher Jones
- Try the latest PHP 5.4 snapshot. Who knows, maybe a fix has already
been merged?
- remove any unnecessary extensions to eliminate them as culprits.
- keep trying to simplify the testcase. Without one, core PHP
developer will not be able to do much, if anything.
The problem could have been caused much earlier in your code but
only triggered by the lines you referenced.
- build with --enable-debug to provide more backtrace information
- See https://bugs.php.net/bugs-generating-backtrace.php
- Run 'httpd -X' to start Apache as a single process. Attach a
debugger to that process and then get a backtrace and poke around a
bit.
Post by Joseph Koenig
I did just install 5.3.10 and verify that the problem does not exist
there. The same code executes just fine.
Add that to the bug. All info helps.
Chris
Thanks again Chris. Same problem exists with the latest 5.4, so I built
with --enable-debug and added a backtrace to the bug report as well as
the fact that 5.3.10 does not produce the same issue. Will work on
stripping down our original code to provide a testcase that replicates
the issue. Thanks again for all your help.
Christopher Jones
2012-04-17 20:59:30 UTC
Permalink
Post by Joseph Koenig
Thanks again Chris. Same problem exists with the latest 5.4, so I
built with --enable-debug and added a backtrace to the bug report as
well as the fact that 5.3.10 does not produce the same issue. Will
work on stripping down our original code to provide a testcase that
replicates the issue. Thanks again for all your help.
From the trace, the crash is in the circular reference garbage collector.
Try disabling this with zend.enable_gc=0 in your php.ini file.

And keep working on getting a testcase.

Chris
--
***@oracle.com
http://twitter.com/#!/ghrd
Loading...