Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86895 - Segmentation Fault in PHP4
Summary: Segmentation Fault in PHP4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High major
Assignee: PHP Bugs
URL: http://gentoobox.rh.ncsu.edu
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-27 13:25 UTC by John Holden
Modified: 2005-04-05 00:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Holden 2005-03-27 13:25:17 UTC
Have Apache 2.0.52-r1, PHP 4.3.10, and mod_php installed.  PHP took a lot of effort to install; ended up compiling it using these USE flags: dba gd mysql -cpdflib

Problem: PHP4 gives a segmentation fault.  Ordinarily I would not post a bug report for something like this when PHP5 is on the way, but PHP4 is _very_ widely used and this is a serious bug (possible configuration problem?).

bash-2.05b$ cat /var/log/apache2/error_log
 ...
[Sun Mar 27 16:45:13 2005] [notice] Apache/2.0.52 (Gentoo/Linux) PHP/4.3.10 configured -- resuming normal operations
[Sun Mar 27 16:45:18 2005] [notice] child pid 6088 exit signal Segmentation fault (11)
[Sun Mar 27 16:45:20 2005] [notice] child pid 6089 exit signal Segmentation fault (11)
[Sun Mar 27 16:55:11 2005] [notice] caught SIGTERM, shutting down
[Sun Mar 27 16:55:56 2005] [notice] Digest: generating secret for digest authentication ...
[Sun Mar 27 16:55:56 2005] [notice] Digest: done

Running debugger:
bash-2.05b# cat /etc/conf.d/apache2 | grep OPTS
APACHE2_OPTS="-D PHP4"

bash-2.05b# gdb apache2
GNU gdb 6.0
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 "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) set args -X -D PHP4
(gdb) run
Starting program: /usr/sbin/apache2 -X -D PHP4
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 6389)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 6389)]
0xb78a7882 in zend_hash_internal_pointer_reset_ex ()
   from /usr/lib/apache2/extramodules/libphp4.so
(gdb) bt
#0  0xb78a7882 in zend_hash_internal_pointer_reset_ex ()
   from /usr/lib/apache2/extramodules/libphp4.so
#1  0xb78b7ace in apply_config () from /usr/lib/apache2/extramodules/libphp4.so
#2  0x00001039 in ?? ()
#3  0x08282a20 in ?? ()
#4  0xb7c3eff4 in ?? () from /lib/libpthread.so.0
#5  0x082819f0 in ?? ()
#6  0xb7c29a20 in __after_morecore_hook () from /lib/libc.so.6
#7  0xbfffef34 in ?? ()
#8  0xb7c3740f in pthread_mutex_unlock () from /lib/libpthread.so.0
Previous frame inner to this frame (corrupt stack?)


Reproducible: Didn't try
Steps to Reproduce:
1.USE="dba gd mysql -cpdflib apache2" emerge apache mod_php
2.Add PHP module to config files /etc/apache2/conf/apache2.conf and /etc/conf.d/apache2
3./etc/init.d/apache2/restart

Actual Results:  
Apache2 webserver does not preprocess PHP webpages.  An example from my own
server: http://gentoobox.rh.ncsu.edu/spgm-1.4.2/index.php

Expected Results:  
The Apache2 webserver should have preprocessed PHP webpages.

bash-2.05b# emerge info
Portage 2.0.51.19 (default-linux/x86/2004.2, gcc-3.3.5, glibc-2.3.4.20041102-r1,
2.6.10-gentoo-r6 i686)
=================================================================
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 25 2005, 05:05:58)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.5, 1.9.4, 1.7.9-r1, 1.6.3, 1.4_p6, 1.8.5-r3
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.4.22-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/
ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo// http://gentoo.seren.com/gentoo/
ftp://gentoo.chem.wisc.edu/gentoo// ftp://gentoo.mirrors.pair.com//
http://mirror.datapipe.net/gentoo/ http://gentoo.eliteitminds.com/
http://gentoo.cs.lewisu.edu/gentoo// ftp://linux.cs.lewisu.edu/gentoo//
http://lug.mtu.edu/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="x86 3dnow X aalib acl alsa apache2 apm arts avi berkdb bindist bitmap-fonts
bonobo cdr crypt cups curl divx4linux dvd dvdr emboss encode esd fam flac
font-server foomaticdb fortran freetds ftp gdbm gif gnome gpm gstreamer gtk gtk2
gtkhtml guile imagemagick imlib ipv6 java jpeg junit kde kerberos ldap libg++
libwww mad matrox mikmod mmx motif mozilla mp3 mpeg mysql nas ncurses nls
nocardbus oav offensive oggvorbis opengl oss pam pdflib perl png python qt
quicktime readline samba scanner sdl slang spell ssl svga tcltk tcpd theora tiff
truetype truetype-fonts type1-fonts usb videos xinerama xml xml2 xmms xv zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY

bash-2.05b# cat /etc/portage/package.use
dev-php/php dba gd mysql -cpdflib
Comment 1 John Holden 2005-04-05 00:52:13 UTC
Follow-up: I modified to /etc/portage/package.use file with the following line which has solved the problem:

dev-php/php -* dba gd mysql -cpdflib