From: nickj-phpbugs at nickj dot org Operating system: Debian Woody GNU/Linux 3.0r6 PHP version: 5CVS-2005-06-17 (dev) PHP Bug Type: Reproducible crash Bug description: Running a freshly compiled PHP 5.1 snapshot from command line gives segfault.
Description: ------------ Compiling PHP 5.1-dev on Woody: [Machine is an Pentium-3 running Debian GNU/Linux Woody 3.0r6, plus the backport of the 2.6 kernel from backports.org] wget http://snaps.php.net/php5-200506170030.tar.bz2 bunzip2 php5-200506170030.tar.bz2 tar xfv php5-200506170030.tar # steps for building the standalone PHP executable: cd php5-200506170030 # configure: # Note: need to disable all the xml stuff as wants a quite recent version on libxml that an old debian/woody server install simply doesn't have. ./configure --disable-libxml -disable-dom -disable-simplexml -disable-xml --without-pear # Now compile: make clean make # use the recommended php.ini cp ./php.ini-recommended ./sapi/cli/php.ini # Finally update ownership to stop "unowned files" error messages: chown -R root.root ~/tmp/ # Should get a compiled PHP5.1 executable in sapi/cli/php # Run it: ./sapi/cli/php Results in a seg fault: ======================================================== ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# ./php Segmentation fault ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# ======================================================== Strace output: ======================================================== ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# strace ./php execve("./php", ["./php"], [/* 18 vars */]) = 0 uname({sys="Linux", node="ludo", ...}) = 0 brk(0) = 0x82e9000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=10970, ...}) = 0 old_mmap(NULL, 10970, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000 close(3) = 0 open("/lib/libcrypt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\t\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=19136, ...}) = 0 old_mmap(NULL, 182044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40017000 mprotect(0x4001c000, 161564, PROT_NONE) = 0 old_mmap(0x4001c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4000) = 0x4001c000 old_mmap(0x4001d000, 157468, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4001d000 close(3) = 0 open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\'\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=56480, ...}) = 0 old_mmap(NULL, 65312, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40044000 mprotect(0x40051000, 12064, PROT_NONE) = 0 old_mmap(0x40051000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 0x40051000 old_mmap(0x40052000, 7968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40052000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2007\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=130088, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40054000 old_mmap(NULL, 132708, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40055000 mprotect(0x40075000, 1636, PROT_NONE) = 0 old_mmap(0x40075000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x40075000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0T\27\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=8008, ...}) = 0 old_mmap(NULL, 11004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40076000 mprotect(0x40078000, 2812, PROT_NONE) = 0 old_mmap(0x40078000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40078000 close(3) = 0 open("/lib/libnsl.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 ;\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=69472, ...}) = 0 old_mmap(NULL, 80988, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40079000 mprotect(0x4008a000, 11356, PROT_NONE) = 0 old_mmap(0x4008a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x4008a000 old_mmap(0x4008b000, 7260, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4008b000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0 old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4008d000 mprotect(0x401a0000, 40160, PROT_NONE) = 0 old_mmap(0x401a0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113000) = 0x401a0000 old_mmap(0x401a6000, 15584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401a6000 close(3) = 0 munmap(0x40014000, 10970) = 0 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0 brk(0) = 0x82e9000 brk(0x82e9038) = 0x82e9038 brk(0x82ea000) = 0x82ea000 getcwd("/root/tmp/php-5.1-dev/php5-200506170030/sapi/cli", 4096) = 49 brk(0x82eb000) = 0x82eb000 brk(0x82ec000) = 0x82ec000 brk(0x82ed000) = 0x82ed000 open("/etc/localtime", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=785, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000 read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0"..., 4096) = 785 close(3) = 0 munmap(0x40014000, 4096) = 0 brk(0x82f2000) = 0x82f2000 open(".//php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/local/lib/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory) open(".//php.ini", O_RDONLY) = 3 getcwd("/root/tmp/php-5.1-dev/php5-200506170030/sapi/cli", 4096) = 49 lstat64("/root", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp/php-5.1-dev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp/php-5.1-dev/php5-200506170030", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp/php-5.1-dev/php5-200506170030/sapi", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp/php-5.1-dev/php5-200506170030/sapi/cli", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/root/tmp/php-5.1-dev/php5-200506170030/sapi/cli/php.ini", {st_mode=S_IFREG|0644, st_size=46023, ...}) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE, 0xbfffe6a8) = -1 ENOTTY (Inappropriate ioctl for device) brk(0x82f7000) = 0x82f7000 fstat64(3, {st_mode=S_IFREG|0644, st_size=46023, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000 read(3, "[PHP]\n\n;;;;;;;;;;;;;;;;;;;\n; Abo"..., 8192) = 8192 read(3, "of the output of your scripts to"..., 8192) = 8192 read(3, "ALL & ~E_NOTICE\n;\n; - Show onl"..., 8192) = 8192 read(3, "allow HTTP file uploads.\nfile_up"..., 8192) = 8192 read(3, "ity to display.\nsybase.min_messa"..., 8192) = 8192 read(3, ".textlimit = 4096\n\n; Valid range"..., 8192) = 5063 read(3, "", 4096) = 0 read(3, "", 8192) = 0 close(3) = 0 munmap(0x40014000, 4096) = 0 brk(0x82f8000) = 0x82f8000 brk(0x82f9000) = 0x82f9000 brk(0x82fa000) = 0x82fa000 brk(0x82fb000) = 0x82fb000 brk(0x82fc000) = 0x82fc000 brk(0x82fd000) = 0x82fd000 brk(0x82fe000) = 0x82fe000 brk(0x82ff000) = 0x82ff000 brk(0x8300000) = 0x8300000 brk(0x8301000) = 0x8301000 brk(0x8302000) = 0x8302000 brk(0x8303000) = 0x8303000 brk(0x8304000) = 0x8304000 brk(0x8305000) = 0x8305000 brk(0x8306000) = 0x8306000 brk(0x8307000) = 0x8307000 brk(0x8308000) = 0x8308000 brk(0x8309000) = 0x8309000 brk(0x830a000) = 0x830a000 brk(0x830b000) = 0x830b000 brk(0x830c000) = 0x830c000 brk(0x830d000) = 0x830d000 brk(0x830e000) = 0x830e000 brk(0x830f000) = 0x830f000 brk(0x8310000) = 0x8310000 brk(0x8311000) = 0x8311000 brk(0x8312000) = 0x8312000 brk(0x8313000) = 0x8313000 brk(0x8314000) = 0x8314000 brk(0x8315000) = 0x8315000 brk(0x8316000) = 0x8316000 brk(0x8317000) = 0x8317000 brk(0x8318000) = 0x8318000 brk(0x8319000) = 0x8319000 brk(0x831a000) = 0x831a000 brk(0x831b000) = 0x831b000 brk(0x831c000) = 0x831c000 brk(0x831d000) = 0x831d000 brk(0x831e000) = 0x831e000 brk(0x8320000) = 0x8320000 brk(0x8321000) = 0x8321000 brk(0x8322000) = 0x8322000 brk(0x8323000) = 0x8323000 brk(0x8324000) = 0x8324000 brk(0x8325000) = 0x8325000 brk(0x8326000) = 0x8326000 brk(0x8327000) = 0x8327000 brk(0x8328000) = 0x8328000 brk(0x8329000) = 0x8329000 brk(0x832a000) = 0x832a000 brk(0x832b000) = 0x832b000 brk(0x832c000) = 0x832c000 brk(0x832d000) = 0x832d000 brk(0x832e000) = 0x832e000 brk(0x832f000) = 0x832f000 brk(0x8330000) = 0x8330000 --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++ ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# ======================================================== The GDB backtrace: ======================================================== ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# ./php Segmentation fault (core dumped) ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# ls -al core -rw------- 1 root root 1003520 Jun 17 13:12 core ludo:~/tmp/php-5.1-dev/php5-200506170030/sapi/cli# gdb ./php core GNU gdb 2002-04-01-cvs Copyright 2002 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-linux"... Core was generated by `./php'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.1...done. Loaded symbols for /lib/libcrypt.so.1 Reading symbols from /lib/libresolv.so.2...done. Loaded symbols for /lib/libresolv.so.2 Reading symbols from /lib/libm.so.6...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 #0 zend_hash_merge_ex (target=0x832d5e0, source=0x98, pCopyConstructor=0x819f524 <zval_add_ref>, size=4, pMergeSource=0x8192390 <do_inherit_constant_check>, pParam=0x0) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_hash.c:818 818 p = source->pListHead; (gdb) bt #0 zend_hash_merge_ex (target=0x832d5e0, source=0x98, pCopyConstructor=0x819f524 <zval_add_ref>, size=4, pMergeSource=0x8192390 <do_inherit_constant_check>, pParam=0x0) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_hash.c:818 #1 0x08192405 in zend_do_implement_interface (ce=0x832d548, iface=0x0) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_compile.c:2145 #2 0x081a4489 in zend_class_implements (class_entry=0x832d548, num_interfaces=2) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_API.c:1665 #3 0x080dbbcb in zm_startup_sqlite (type=1, module_number=3) at /root/tmp/php-5.1-dev/php5-200506170030/ext/sqlite/sqlite.c:1028 #4 0x081a36f2 in zend_register_module_ex (module=0x82d3f60) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_API.c:1246 #5 0x081a375b in zend_startup_module (module=0x82d3f60) at /root/tmp/php-5.1-dev/php5-200506170030/Zend/zend_API.c:1265 #6 0x0816ff5f in php_startup_extensions (ptr=0x82e2268, count=12) at /root/tmp/php-5.1-dev/php5-200506170030/main/main.c:1298 #7 0x0822cf85 in php_startup_internal_extensions () at main/internal_functions_cli.c:65 #8 0x081703fa in php_module_startup (sf=0x82e21c0, additional_modules=0x0, num_additional_modules=0) at /root/tmp/php-5.1-dev/php5-200506170030/main/main.c:1483 #9 0x0822c026 in main (argc=1, argv=0xbffffb44) at /root/tmp/php-5.1-dev/php5-200506170030/sapi/cli/php_cli.c:653 (gdb) ======================================================== -- Edit bug report at http://bugs.php.net/?id=33379&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=33379&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=33379&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=33379&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=33379&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=33379&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=33379&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=33379&r=needscript Try newer version: http://bugs.php.net/fix.php?id=33379&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=33379&r=support Expected behavior: http://bugs.php.net/fix.php?id=33379&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=33379&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=33379&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=33379&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=33379&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=33379&r=dst IIS Stability: http://bugs.php.net/fix.php?id=33379&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=33379&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=33379&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=33379&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=33379&r=mysqlcfg