php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #4045 Apache segfaults when PHP is loaded
Submitted: 2000-04-05 01:56 UTC Modified: 2000-04-06 08:19 UTC
From: admin at weirdness dot com Assigned:
Status: Closed Package: Reproducible Crash
PHP Version: 3.0.16 OS: Linux 2.2.14/Mandrake 7.0
Private report: No CVE-ID: None
 [2000-04-05 01:56 UTC] admin at weirdness dot com
Kernel modules         2.1.121
Gnu C                  2.95.2
Binutils               2.9.5.0.16
Linux C Library        2.1.2
Dynamic linker         ldd (GNU libc) 2.1.2
Procps                 2.0.6
Mount                  2.9y
Net-tools              1.53
Console-tools          0.2.2
Sh-utils               2.0
Modules Loaded         3c59x

Apache 1.3.12
modperl 1.22
mod_ssl 2.6.2-1.3.12
php 3.0.16
MySQL 3.22.32
gd 1.7.3
zlib 1.1.3

modssl: # ./configure --with-apache=../apache-1.3.12

modperl: # perl Makefile.PL USE_APACI=1 DO_HTTPD=1 PREP_HTTPD=1 EVERYTHING=1 PERL_MARK_WHERE=1 (autodetects apache source tree in 1.22)
# make
# make install

apache: # ./configure --with-layout=RedHat --enable-module=ssl --enable-shared=ssl --enable-shared=max --activate-module=src/modules/perl/libperl.a --disable-shared=perl
# make
# make certificate TYPE=existing
# make install

php: # ./configure --with-apxs=/usr/sbin/apxs --with-mysql --with-gd --with-xml --with-zlib
# make
# make install

edit /etc/httpd/conf/httpd.conf to move the LoadModule php3_module line out of the <IfDefine SSL> section (Is this a bug?) and activate the appropriate AddType lines.

# apachectl start
(no error message but no running httpd's)

# gdb /usr/sbin/httpd /core
GNU gdb 19991116
Copyright 1998 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 "i586-mandrake-linux"...
Core was generated by `/usr/sbin/httpd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libcrypt.so.1...done.
Reading symbols from /lib/libnsl.so.1...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libnss_files.so.2...done.
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Reading symbols from /usr/lib/apache/mod_env.so...done.
Reading symbols from /usr/lib/apache/mod_log_config.so...done.
Reading symbols from /usr/lib/apache/mod_mime.so...done.
Reading symbols from /usr/lib/apache/mod_negotiation.so...done.
Reading symbols from /usr/lib/apache/mod_status.so...done.
Reading symbols from /usr/lib/apache/mod_include.so...done.
---Type <return> to continue, or q <return> to quit---
Reading symbols from /usr/lib/apache/mod_autoindex.so...done.
Reading symbols from /usr/lib/apache/mod_dir.so...done.
Reading symbols from /usr/lib/apache/mod_cgi.so...done.
Reading symbols from /usr/lib/apache/mod_asis.so...done.
Reading symbols from /usr/lib/apache/mod_imap.so...done.
Reading symbols from /usr/lib/apache/mod_actions.so...done.
Reading symbols from /usr/lib/apache/mod_userdir.so...done.
Reading symbols from /usr/lib/apache/mod_alias.so...done.
Reading symbols from /usr/lib/apache/mod_access.so...done.
Reading symbols from /usr/lib/apache/mod_auth.so...done.
Reading symbols from /usr/lib/apache/mod_setenvif.so...done.
Reading symbols from /usr/lib/apache/libphp3.so...done.
Reading symbols from /usr/lib/libpng.so.2...done.
Reading symbols from /usr/lib/libz.so.1...done.
Reading symbols from /usr/lib/libgd.so.1...done.
Reading symbols from /usr/lib/libmysqlclient.so.6...done.
Reading symbols from /usr/lib/libgdbm.so.2...done.
Reading symbols from /lib/libpam.so.0...done.
Reading symbols from /lib/libresolv.so.2...done.
Reading symbols from /lib/libpthread.so.0...done.
#0  0x402f0224 in ?? ()

(gdb) bt
#0  0x402f0224 in ?? ()
#1  0x400cceaa in _IO_new_file_close_it (fp=0x81ee298) at fileops.c:136
#2  0x400c873a in _IO_new_fclose (fp=0x81ee298) at iofclose.c:50
#3  0x40332b9e in php3_init_config () at configuration-parser.y:226
#4  0x40328fea in php3_config_ini_startup () at main.c:947
#5  0x403299dd in php3_module_startup () at main.c:1238
#6  0x40327288 in php3_create_dir () from /usr/lib/apache/libphp3.so
#7  0x80828cc in ap_single_module_configure ()
#8  0x8062124 in load_module ()
#9  0x8080f9e in invoke_cmd ()
#10 0x8081961 in ap_handle_command ()
#11 0x80819ff in ap_srm_command_loop ()
#12 0x8081e54 in ap_process_resource_config ()
#13 0x80827dc in ap_read_config ()
#14 0x808ca20 in standalone_main ()
#15 0x808d36c in main ()
#16 0x400979ee in __libc_start_main (main=0x808cfb4 <main>, argc=1,
    argv=0xbffffc94, init=0x8060de0 <_init>, fini=0x812ddc4 <_fini>,
    rtld_fini=0x4000a570 <_dl_fini>, stack_end=0xbffffc8c)
    at ../sysdeps/generic/libc-start.c:90

Apache starts and runs okay without PHP loaded.  This has been an ongoing thing since ~3.0.13 on Mandrake 7.0 (i.e. I can reproduce it on different machines using Mandrake 7.0)


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-04-06 08:19 UTC] admin at weirdness dot com
DO NOT USE MYSQL RPMS OR COMPILE FROM SOURCE RPM!

Compile from tarball!

DO NOT CONFIGURE WITH --enable-thread-safe-client !!

This works and puts everything in approximately the same place as the RPM does:

./configure --enable-shared \
 --enable-assembler \
 --with-mysqld-user=mysql \
 --with-unix-socket-path=/var/lib/mysql/mysql.sock \
--prefix=/ \
--exec-prefix=/usr \
--libexecdir=/usr/sbin \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var/lib/mysql \
--infodir=/usr/info \
--includedir=/usr/include \
--mandir=/usr/man


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat May 11 14:01:33 2024 UTC