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
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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: Thu Dec 26 13:01:30 2024 UTC