#27998 [Opn->Csd]: CGI 'php -n' + php_ini_scanned_files() == segfault

From: Date: Wed, 14 Apr 2004 22:08:43 +0000
Subject: #27998 [Opn->Csd]: CGI 'php -n' + php_ini_scanned_files() == segfault
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-58142@lists.php.net to get a copy of this message
ID: 27998 Updated by: iliaa@php.net Reported By: torben@php.net -Status: Open +Status: Closed Bug Type: Reproducible crash Operating System: Linux 2.4.22 (Fedora Core 1) PHP Version: 4.3.4 New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2004-04-14 17:09:16] torben@php.net Description: ------------ On a recent install of PHP 4.3.4 (from RPM, not compile), the CGI binary segfaults if php is given the -n switch, either on the command line or the bang-hash line. Note: I just tried this script on FreeBSD 4.8-stable and it worked fine (no segfault). Reproduce code: --------------- #!/usr/bin/php -qn <?php echo phpversion() . "\n"; $inis = php_ini_scanned_files(); var_dump($inis); ?> Expected result: ---------------- 4.3.4 string(63) "/etc/php.d/imap.ini, /etc/php.d/ldap.ini, /etc/php.d/mysql.ini " Actual result: -------------- Script output: ------------------------ 4.3.4 Segmentation fault Backtrace: (I know there're no symbols, but it seems to point to strlen()). ------------------------ GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh) Copyright 2003 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 "i386-redhat-linux-gnu". (gdb) file /usr/bin/php Reading symbols from /usr/bin/php...(no debugging symbols found)...done. Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run -n -q ../bin/test.php Starting program: /usr/bin/php -n -q ../bin/test.php (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[Thread debugging using libthread_db enabled] [New Thread -1085134208 (LWP 9427)] 4.3.4 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1085134208 (LWP 9427)] 0x00707043 in strlen () from /lib/tls/libc.so.6 (gdb) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27998&edit=1

« previous php.bugs (#58142) next »