php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #36850 random segmentation faults
Submitted: 2006-03-24 21:36 UTC Modified: 2006-03-28 18:57 UTC
From: rdaggett at insight dot com Assigned:
Status: Closed Package: Unknown/Other Function
PHP Version: 4.4.2 OS: RH ES 4.0 Update 2
Private report: No CVE-ID: None
 [2006-03-24 21:36 UTC] rdaggett at insight dot com
Description:
------------
The issue:
	when I load a php file in a browser we get random segmentation faults

The environment
	RedHat ES 4.0 kernel 2.6.9-22.0.2.ELsmp
	php 4.4.2
	apache 2.0.55

apache config command:
[root@wap015 tmp]# httpd -V
Server version: Apache/2.0.55
Server built:   Mar 17 2006 16:06:14
Server's Module Magic Number: 20020903:11
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

php config command:

'./configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db4=/usr' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-ncurses=shared' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-xml' '--with-expat-dir=/usr' '--with-dom=shared,/usr' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr' '--with-xmlrpc=shared' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-oci8=shared' '--with-mssql=shared' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--with-sybase=shared' '--with-mcrypt=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mbstring=shared' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-mime-magic=/usr/share/file/magic.mime' '--with-apxs2=/usr/sbin/apxs' 

Actual result:
--------------
back trace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208018496 (LWP 18482)]
0x01142001 in zend_llist_add_element () from /etc/httpd/modules/libphp4.so
(gdb)  bt
#0  0x01142001 in zend_llist_add_element () from /etc/httpd/modules/libphp4.so
#1  0x011556bf in zend_assign_to_variable_reference ()
   from /etc/httpd/modules/libphp4.so
#2  0x01156ee1 in zend_assign_to_variable_reference ()
   from /etc/httpd/modules/libphp4.so
#3  0x0115787a in execute () from /etc/httpd/modules/libphp4.so
#4  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#5  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#6  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#7  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#8  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#9  0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#10 0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#11 0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#12 0x011585ac in execute () from /etc/httpd/modules/libphp4.so
#13 0x011497c0 in zend_execute_scripts () from /etc/httpd/modules/libphp4.so
#14 0x0111ef5e in php_execute_script () from /etc/httpd/modules/libphp4.so
#15 0x00000000 in ?? ()
(gdb) frame 3
#3  0x0115787a in execute () from /etc/httpd/modules/libphp4.so
(gdb) q

strace:
getcwd("/", 4096)                       = 2
lstat64("/u", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
lstat64("/u/bp", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
lstat64("/u/bp/localdata", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
lstat64("/u/bp/localdata/phplog", {st_mode=S_IFREG|0666, st_size=63287136, ...})
 = 0
open("/u/bp/localdata/phplog", O_WRONLY|O_APPEND|O_CREAT, 0666) = 92
fstat64(92, {st_mode=S_IFREG|0666, st_size=63287136, ...}) = 0
lseek(92, 0, SEEK_CUR)                  = 0
lseek(92, 0, SEEK_CUR)                  = 0
write(92, "\n[319b28a4{198.187.200.254}:Mar:"..., 85) = 85
close(92)                               = 0
chmod("/u/bp/localdata/phplog", 0666)   = 0
select(88, [], [87], [], {10, 0})       = 1 (out [87], left {10, 0})
send(87, "\0\0\f\372~SETOBJ;session             "..., 3326, 0) = 3326
select(88, [87], [], [], {10, 0})       = 1 (in [87], left {9, 992000})
recv(87, "\0\0\0\4", 4, 0)              = 4
select(88, [87], [], [], {10, 0})       = 1 (in [87], left {10, 0})
recv(87, "~OK~", 4, 0)                  = 4
shutdown(87, 1 /* send */)              = 0
close(87)                               = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=130, ...}) = 0
open("/etc/localtime", O_RDONLY)        = 87
fstat64(87, {st_mode=S_IFREG|0644, st_size=130, ...}) = 0
fstat64(87, {st_mode=S_IFREG|0644, st_size=130, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7
e21000
read(87, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\3\0"..., 4096) = 13
0
close(87)                               = 0
munmap(0xb7e21000, 4096)                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
chdir("/etc/httpd")                     = 0
rt_sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}, 8) = 0
kill(13993, SIGSEGV)                    = 0
sigreturn()                             = ? (mask now [])
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Process 13993 detached

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-03-24 22:19 UTC] tony2001@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.


 [2006-03-24 22:33 UTC] rdaggett at insight dot com
This is a random error, it does not happen every time we hit a page.  I could be surfing for 10 Min and will not get the fault.  

What are my options?
 [2006-03-24 22:36 UTC] tony2001@php.net
Do you use any zend_extensions? IonCube? ZendOptimizer?
 [2006-03-24 22:54 UTC] rdaggett at insight dot com
IonCube = No
ZendOptimizer = No
zend_extensions = We have it enabled, but commented out in php.ini file
http://uk4.insight.com/test.php
Link showing php info
 [2006-03-24 22:58 UTC] tony2001@php.net
And which MPM do you use with Apache2?
 [2006-03-24 22:59 UTC] rdaggett at insight dot com
prefork
 [2006-03-24 23:05 UTC] tony2001@php.net
It means that we still need a reproduce code.
Otherwise I doubt there is something we can do..
 [2006-03-28 18:57 UTC] rdaggett at insight dot com
We found the problem - Oracle 10.2 client, we down graded to the 10.1 client and our issue went away.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue Jul 29 14:00:03 2025 UTC