Bug #15156 Updated: apache segmentation fault (11) with php4
| From: | cummings at cmgm dot stanford dot edu | Date: | Thu, 31 Jan 2002 23:55:54 +0000 |
| Subject: | Bug #15156 Updated: apache segmentation fault (11) with php4 | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-78719@lists.php.net to get a copy of this message | ||
ID: 15156
User updated by: cummings@cmgm.stanford.edu
Reported By: cummings@cmgm.stanford.edu
Status: Open
Bug Type: Reproducible crash
Operating System: RedHat Linux, 2.4.2 kernel
PHP Version: 4.1.1
New Comment:
In spite of my prior 'make clean' commands, I found that copies of
libphp3.so and libphp4.so were present on my system. I deleted these
files and reinstalled PHP 4.1.1 from a fresh tarball distribution
(configuration options as before). I also scrutinized my httpd.conf
file and found that 'LoadModule libphp4.so' appeared twice, each with a
different path. In order to satisfy apache, I had previously created a
symbolic link from the second directory to modules/libphp4.so. I
subsequently deleted the symbolic link and the Apache directive that
refered to it.
I continue to have the problems but there are some differences. The
server starts fine. Documents with .html or .php extensions fail to
load in the browser and result in a child process segmentation fault in
the error_log. Occasionally, one browser request results in multiple
child seg. faults.
I tried to get a backtrace but strangely, when I run httpd with the -X
flag, the server does not crash. However, PHP code is not processed.
The core file is nowhere to be found.
Incidentally, commenting out the AddModule directive:
...
LoadModule php4_module modules/libphp4.so
...
# AddModule mod_php4.c
...
restores functionality to the server (without PHP enabled).
Scripts in the cgi-bin directory seem to work fine and text documents
(with .txt extensions) load fine from the html directory.
Any advice?
Previous Comments:
------------------------------------------------------------------------
[2002-01-30 14:29:33] cummings@cmgm.stanford.edu
Sorry if this is a stupid question but how do I turn off the xbit hack
directive?
Here are the answers to your questions:
1) I followed directions for an Apache module installation. If PHP4 is
installed as a CGI version as well, then I am not aware of it. How can
I confirm that the CGI version is not installed?
2) PHP3 was installed on this machine as part of the RedHat 7.1
distribution. I removed it (rpm -e php) prior to installing PHP4.
Should I check for some remnant of the previous installation that might
be causing a conflict?
3) Here are the relevant lines from my httpd.conf file
<IfModule mod_php4.c>
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source .phps
</IfModule>
# The following is for PHP3:
<IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
</IfModule>
# The following is for PHP/FI (PHP2):
<IfModule mod_php.c>
AddType application/x-httpd-php .phtml
</IfModule>
Thanks again.
Craig
------------------------------------------------------------------------
[2002-01-24 21:01:31] yohgaki@php.net
Turn off xbit hack ini directive to see if it helps.
BTW, xbit hack works fine for me. (4.2.0-dev. It worked older versions
also)
Are you using PHP CGI version also?
Are you using PHP3 AND PHP4 as module?
What is "AddType" setting for PHP. (In httpd.conf)
------------------------------------------------------------------------
[2002-01-24 13:03:15] cummings@cmgm.stanford.edu
I've tried versions of PHP all the way back to 3.0.18 and I still get
the same problems.
------------------------------------------------------------------------
[2002-01-22 18:40:22] cummings@cmgm.stanford.edu
Update:
I just tried to reinstall using slightly older releases of MySQL and
PHP. However, the problem persists. Requests for HTML cause segfault,
requests for PHP return unprocessed document text. Latest installed
versions are:
PHP 4.0.6
MySQL 3.23.47
------------------------------------------------------------------------
[2002-01-22 03:00:55] cummings@cmgm.stanford.edu
I recently installed PHP4 from the tarball distribution as a
dynamically loaded module for Apache. It builds cleanly and the server
starts. However, I have two serious problems with my server:
1) all requests to the server for .html documents result in a
"[notice] child pid 15202 exit signal Segmentation fau
lt (11)" error
2) requests for PHP-containing documents do not return anything to
the server. However, an examination of the source shows the text of
the document with <?php... tags.
If I comment out the LoadModule directive that loads PHP4 in
httpd.conf, my server can process the html document requests.
PHP 4.1.1 was configured with:
--enable-debug
--with-mysql=/usr
--with-apxs=/usr/sbin/apxs
Apache is apache-1.3.22-3 installed from a RawHide RPM
MySQL is MySQL-4.0.1-2 installed from a MySQL RPM
Here's the gdb backtrace from a request for a non-PHP-including html
document:
--------------------------------------
Starting program: /usr/sbin/httpd -X -f /etc/httpd/conf/httpd.conf
(no debugging symbols found)...[New Thread 1024 (LWP 15221)]
(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 15221)]
0x40480108 in php_xbithack_handler (r=0x80df818) at mod_php4.c:777
777 conf = (php_apache_info_struct *)
get_module_config(r->per_dir_c
onfig, &php4_module);
(gdb)
(gdb) bt
#0 0x40480108 in php_xbithack_handler (r=0x80df818) at mod_php4.c:777
#1 0x8054f7a in ap_invoke_handler ()
#2 0x8068e73 in ap_some_auth_required ()
#3 0x403d9ea4 in handle_dir () from /etc/httpd/modules/mod_dir.so
#4 0x8054f7a in ap_invoke_handler ()
#5 0x8068e73 in ap_some_auth_required ()
#6 0x806910e in ap_process_request ()
#7 0x806113d in ap_child_terminate ()
#8 0x80613c2 in ap_child_terminate ()
#9 0x8061449 in ap_child_terminate ()
#10 0x80620aa in ap_child_terminate ()
#11 0x8062434 in main ()
#12 0x40171108 in __libc_start_main () from /lib/i686/libc.so.6
--------------------------------------
I'd appreciate any help you can provide on this. By the way, I'm
willing to use an older version of PHP if the bug is fixed there.
Thanks a lot.
Best regards,
Craig
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=15156&edit=1