php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #36182 PHP CLI segfaults on exit in trsm_shutdown
Submitted: 2006-01-27 19:56 UTC Modified: 2010-12-20 12:00 UTC
From: zeekec at mad dot scientist dot com Assigned: jani (profile)
Status: Closed Package: Reproducible crash
PHP Version: 5.1.2 OS: Gentoo
Private report: No CVE-ID: None
 [2006-01-27 19:56 UTC] zeekec at mad dot scientist dot com
Description:
------------
When running the php commandline interface, php segfaults on exit.

Reproduce code:
---------------
php -v
PHP 5.1.2-gentoo (cli) (built: Jan 27 2006 13:01:11) (DEBUG)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
Segmentation fault

Configured with:
./configure --prefix=/usr/lib/php5 --sysconfdir=/etc --cache-file=./config.cache --enable-cli --disable-cgi --with-config-file-path=/etc/php/cli-php5 --with-config-file-scan
-dir=/etc/php/cli-php5/ext-active --without-pear --enable-bcmath=shared --with-bz2=shared --enable-calendar=shared --with-curl=shared --with-curlwrappers=shared --disable-dbase
--enable-exif=shared --without-fbsql --without-fdftk --disable-filepro --enable-ftp=shared --with-gettext=shared --with-gmp=shared --disable-hash --without-hwapi --without-infor
mix --without-kerberos --enable-mbstring=shared --with-mcrypt=shared --disable-memory-limit --with-mhash=shared --with-ming=shared --without-msql --without-mssql --with-ncurses=
shared --without-oci8 --without-oci8 --with-openssl=shared --with-openssl-dir=/usr --enable-pcntl=shared --disable-pdo --without-pgsql --with-pspell=shared --without-recode --di
sable-reflection --disable-simplexml --disable-shmop --without-snmp --disable-soap --enable-sockets=shared --without-sybase --without-sybase-ct --enable-sysvmsg=shared --enable-
sysvsem=shared --enable-sysvshm=shared --with-tidy=shared --disable-wddx --disable-xmlreader --disable-xmlwriter --without-xmlrpc --with-xsl=shared --with-zlib=shared --enable-d
ebug --enable-dba=shared --without-cdb --with-db4=shared --with-flatfile=shared --with-gdbm=shared --with-inifile=shared --without-qdbm --with-freetype-dir=/usr --with-t1lib=/us
r --disable-gd-jis-conv --enable-gd-native-ttf --with-jpeg-dir=/usr --with-png-dir=/usr --with-xpm-dir=/usr/X11R6 --with-gd --with-imap=shared --with-imap-ssl --with-ldap=shared
 --with-ldap-sasl --with-mysql=shared,/usr/lib/mysql --with-mysql-sock=/var/run/mysqld/mysqld.sock --without-mysqli --with-readline --without-libedit --disable-session --enable-
sqlite-utf8 --with-pic --enable-maintainer-zts --enable-experimental-zts

Expected result:
----------------
php -v
PHP 5.1.2-gentoo (cli) (built: Jan 27 2006 13:01:11) (DEBUG)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


Actual result:
--------------
gdb --args php -v
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/php -v
[Thread debugging using libthread_db enabled]
[New Thread -1208424768 (LWP 3847)]
PHP 5.1.2-gentoo (cli) (built: Jan 27 2006 13:01:11) (DEBUG)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208424768 (LWP 3847)]
0xb7be47d6 in ?? ()
(gdb) bt
#0  0xb7be47d6 in ?? ()
#1  0x082164c9 in tsrm_shutdown () at /home/gentoo/tmp/portage/php-5.1.2/work/php-5.1.2/TSRM/TSRM.c:180
#2  0x08304c0e in main (argc=2, argv=0xbfebc4c4) at /home/gentoo/tmp/portage/php-5.1.2/work/php-5.1.2/sapi/cli/php_cli.c:1240
(gdb)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-01-27 21:45 UTC] nlopess@php.net
We need a better backtrace..
So please re-emerge PHP with the following command:
FEATURES="nostrip" emerge =dev-lang/php-5.1.2

And then generate a new backtrace.
 [2006-01-27 22:26 UTC] zeekec at mad dot scientist dot com
It was emerged with nostrip.  Full emerge line:

CFLAGS="-O0 -pipe -g -ggdb" CXXFLAGS="-O0 -pipe -g -ggdb" FEATURES="nostrip" ACCEPT_KEYWORDS="~x86 ~overlay maint" PORTDIR_OVERLAY="/home/gentoo/local/gentoo-php-overlay/testing /home/gentoo/local/gentoo-php-overlay/experimental" emerge -av dev-lang/php


The backtrace shows it dieing at TSRM.c:180.  Is there another library I should install with nostrip?
 [2006-01-28 12:59 UTC] nlopess@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.1-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.1-win32-latest.zip

well, that backtrace doesn't help much. can you please try to compile PHP without portage (aka by hand), please?
 [2006-01-30 19:00 UTC] zeekec at mad dot scientist dot com
As seen on the Gentoo bug: http://bugs.gentoo.org/show_bug.cgi?id=120202

Disabling the tidy extension or threads got rid of the segfault.

I haven't tried the snapshot yet.  Will do that now.
 [2006-01-30 22:53 UTC] tony2001@php.net
You don't need this options: 
--enable-maintainer-zts --enable-experimental-zts
the first is for maintainers only, the second doesn't exist.

Though I should note that even with `./configure --enable-maintainer-zts --with-tidy` I don't see the crash.

 [2006-02-01 05:11 UTC] zeekec at mad dot scientist dot com
I can't reproduce this with the snapshot at this time.  If I'm able to, I'll reopen this.

Thanks for all your help.

Erik
 [2010-12-20 12:00 UTC] jani@php.net
-Package: Tidy +Package: Reproducible crash -Assigned To: +Assigned To: jani
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 02:01:29 2024 UTC