php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16319 Child SegFault w/ apache
Submitted: 2002-03-27 14:56 UTC Modified: 2002-03-27 17:11 UTC
From: bloodfang at web dot de Assigned:
Status: Not a bug Package: Unknown/Other Function
PHP Version: 4.1.2 OS: RedHat 7.1
Private report: No CVE-ID: None
 [2002-03-27 14:56 UTC] bloodfang at web dot de
I got a quite strange problem...

Setup: Apache 1.3.24 (also tried with 1.3.23) and PHP 4.1.2 (also tried with latest SS php4-2002-03-27-0900), always built with APXS as libphp4 shared object.

Configure line:
--enable-debug --with-apxs=/usr/apache/bin/apxs
(Yes, not much here, just to see if it works. Also tried --disable-xml)

There is no problem when I load a script in the document root directory, which does some simple file read operations (phpinfo() works too). However, as soon as I try to access a subdirectory, like my phpMyAdmin in dbadmin or sqladmin (with http access control, config access control just works fine) I get a SegFault. Strange thing is, I even get this if there's just one 'touch'ed index.php with length zero in the directory.

My backtrace:
-----------------------------------------------------
(gdb) run -X
Starting program: /usr/apache/bin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x08091045 in ap_base64decode_binary () at eval.c:41
41      eval.c: No such file or directory.
        in eval.c
-----------------------------------------------------
I don't even know where that eval.c is - so I have no means to fix it myself in any way. Maybe it's just a big fault of mine I cannot see, but I have no clue what the problem is.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-03-27 15:05 UTC] mfischer@php.net
ap_*() function prefixed do actually come from Apache itself. Good chance PHP even isn't involved there.

Have you tried updating/recompiling your apache?
Can you provide a full backtrace (bt full) ?
 [2002-03-27 15:14 UTC] bloodfang at web dot de
Well, here's some kind of full backtrace - But as you can see there is no symbol table info. 

(gdb) run -X
Starting program: /usr/apache/bin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x08091045 in ap_base64decode_binary () at eval.c:41
41      eval.c: No such file or directory.
        in eval.c
(gdb) bt full
#0  0x08091045 in ap_base64decode_binary () at eval.c:41
        ap = (void **) 0x811dd0f
        digval = 0
        digval = 0
        digval = 0
        digval = 0
        result = 135388431
        result = 135388431
        value = (void *) 0x811e001
#1  0xfffff510 in ?? ()
No symbol table info available.
Cannot access memory at address 0xffffa882

I guess I'm going to compile Apache --without-execstrip after submitting this - maybe this can produce more info.
 [2002-03-27 15:34 UTC] bloodfang at web dot de
Alright, Apache 1.3.24 configure line:



./configure --without-execstrip --prefix=/usr/apache --enable-module=digest --enable-module=log_agent --enable-module=mime_magic --enable-module=usertrack --enable-module=expires --enable-module=so --enable-module=vhost_alias --enable-module=headers --enable-module=info --enable-module=log_referer --enable-module=rewrite



And, guess what, now it works - Although I'm still left clueless; I recompiled Apache quite a few times - the only difference here is --without-execstrip and all modules statically (I compiled some modules dynamically before).



But I'd still like to know what's going on (because I want to recompile an Apache suited for my needs, and not one with complete debug information and all static modules).
 [2002-03-27 17:11 UTC] sniper@php.net
The backtrace clearly shows that the crash happens
in Apache, NOT in PHP. Please report this to the Apache
group.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Jun 26 16:01:30 2024 UTC