php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9850 Apache dies
Submitted: 2001-03-19 19:06 UTC Modified: 2001-04-19 09:37 UTC
From: cjc at linuxbeach dot net Assigned:
Status: Closed Package: Apache related
PHP Version: 4.0.4pl1 OS: Red Hat, 6.2 linux 2.2.17-14smp
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: cjc at linuxbeach dot net
New email:
PHP Version: OS:

 

 [2001-03-19 19:06 UTC] cjc at linuxbeach dot net
I am trying to upgrade from php-4.02 and have this problem. Below are the specs on my system. It works
find with 4.02, but when I use the exact same procedure to build-4.04p1 the following happens.
./configure, make and make install on php complete without errors. httpsd starts and immediately dies
with no error messages and nothing has been found in any logs.
When I say it starts and dies I mean:

./httpsd start

gives an OK but

ps -aux|grep ht 

shows no httpd processes running no matter how fast I type but

./httpsd start;ps -aux|grep ht

shows 10 httpd processes, but will have dies before they can be tested again.                   

The only variable would seem to be the difference between 4.02 and 4.04p1. After a careful look at the
requirements and dependency I can't fine the cause. Unfotunately php.net doesn't seem to make earlier
versions so I can't same how matters stand on 4.03 (Does anybody have this?).

 
The system is running Red Hat 6.2 with updates
linux kernel 2.2.17-14smp
Apache is RH secure server 3.1.2
glibc 2.1.3-22
   
   
The php configure command line use for both 4.02 and 4.04p1 is:
   
    ./configure --with-apxs --with-kerberos=/usr/kerberos/ --with-imap --with-mysql --with-ldap

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-19 19:13 UTC] sniper@php.net
1. delete config.cache
2. add --enable-debug into your configure line
3. after configure: 'make clean ; make ; make install'
4. then try generating gdb backtrace:

# gdb /path/to/httpsd
(gdb) run -X

And then (if) it crashes:
(gdb) bt

and copy/paste the output into this bug report using the
web interface.

--Jani
 
 [2001-03-20 11:39 UTC] cjc at linuxbeach dot net
After rebuilding with debugging support as you suggested, I got the following output:

This GDB was configured as "i386-redhat-linux"...
(no debugging symbols found)...
(gdb) run -X
Starting program: /usr/sbin/httpsd -X
Cannot access memory at address 0x40701af4
(gdb)

And this is the backtrace:

(gdb) bt
#0  0x4000af61 in _dl_debug_state () at dl-debug.c:56
#1  0x40184136 in _dl_close (map=0x80a84d8) at dl-close.c:195
#2  0x40183d50 in _dl_open (file=0x80a36c0 "/etc/httpd/modules/libphp4.so",
    mode=258, caller=0x0) at dl-open.c:250
#3  0x400a13d3 in dlopen_doit (a=0xbfffd964) at dlopen.c:41
#4  0x4000ac7b in _dl_catch_error (errstring=0x400a3080,
    operate=0x400a13a8 <dlopen_doit>, args=0xbfffd964) at dl-error.c:141
#5  0x400a18b9 in _dlerror_run (operate=0x400a13a8 <dlopen_doit>,
    args=0xbfffd964) at dlerror.c:125
#6  0x400a1393 in __dlopen_check (
    file=0x80a36c0 "/etc/httpd/modules/libphp4.so", mode=258) at dlopen.c:53
#7  0x8067911 in ap_os_dso_load ()
#8  0x80501ba in ap_get_server_built ()
#9  0x80544e4 in ap_clear_module_list ()
#10 0x8054adc in ap_handle_command ()
#11 0x8054b28 in ap_srm_command_loop ()
#12 0x8054e97 in ap_process_resource_config ()
#13 0x8055514 in ap_read_config ()
#14 0x805cc9b in main ()
#15 0x400bd9cb in __libc_start_main (main=0x805cac0 <main>, argc=2,
    argv=0xbffffba4, init=0x804f750 <_init>, fini=0x807cf3c <_fini>,
    rtld_fini=0x4000aea0 <_dl_fini>, stack_end=0xbffffb9c)
    at ../sysdeps/generic/libc-start.c:92
(gdb)

Also I discover that running httpsd directly (as opposed to the init.d script) does indeed reveal an
error message. I had ealier suspected my problems might be related to ssl support since that had changed in 4.04p1. I've tried building --with-openssl but this fails with the error OpenSSL must be 0.9.6 or greater. I got hold of a Mandrake rpm for openssl 0.9.6. I am running RH but the package appeared to install ok and

#openssl version 

reports:

OpenSSL 0.9.6

but no dice one the build. I will look at the configure file and see how it detects openssl.
 
[root@ssl php-4.0.4pl1]# /usr/sbin/httpsd
Syntax error on line 190 of /etc/httpd/conf/httpsd.conf:
Cannot load /etc/httpd/modules/libphp4.so into server: /etc/httpd/modules/libphp4.so:
undefined symbol: SSL_CTX_set_tmp_rsa_callback

One more thing. I got hold of php-4.03 (thanks Shane Chen). Same problem: undefined symbol: SSL_CTX_set_tmp_rsa_callback

 [2001-03-20 13:38 UTC] cjc at linuxbeach dot net
added --imap-ssl to the configure. That got rid of undefined symbol: SSL_CTX_set_tmp_rsa_callback but not the orginal problem. It still dies.
New build (after rm config.cache , make clean) for a minimum php to debug
./configure --with-apxs --enable-debug

curiously configure is still including mysql support anyway??
but this build does seem to stick (httpsd keeps running)



 [2001-03-20 16:08 UTC] cjc at linuxbeach dot net
I am able to build a php-4.04p1 that works if I leave out imap support. Also imap support doesn't build properly  without  kerberos and imap-ssl support. 
 [2001-03-26 18:11 UTC] sniper@php.net
Please try the latest CVS snapshot from http://snaps.php.net/ 

And try adding --without-mysql into your configure line.

--Jani

 [2001-04-19 09:37 UTC] sniper@php.net
No feedback. And works for me just fine.

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Dec 27 03:01:28 2024 UTC