Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 83073

Summary: Apache2 repeatingly segfaults with mod_perl and LXR 0.9.3
Product: Gentoo Linux Reporter: Christophe Saout <christophe>
Component: Current packagesAssignee: Gentoo Web Application Packages Maintainers <web-apps>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Christophe Saout 2005-02-23 07:49:46 UTC
I've migrated from apache 1.3.33 to apache 2.0.52 and mod_perl 1.33 to mod_perl 1.99.11

The mod_perl application LXR 0.9.3 crashes the webserver (apache2 with prefork MPM) under certain circumstances (trying to look at certain files using LXR's "source" script).

I tried to find out what happens but I didn't find anything conclusive:

(gdb) bt
#0 0x431f9d03 in apr_palloc () from /usr/lib/libapr-0.so.0
#1 0x0807bcc9 in ap_old_write_filter ()
#2 0x0807c159 in ap_rvputs ()
#3 0x080644e9 in ap_send_error_response ()
#4 0x080662e2 in ap_die ()
#5 0x080664ff in ap_process_request ()
#6 0x08060f08 in _start ()

I did some debugging and found out that apr_palloc crashes because pool->active is -1 at that point (0xffffffff). I have no idea how this could happen.

LXR works fine when used as CGI, I've disabled mod_perl for now.

I'm not exactly sure if this is not an Apache httpd bug, but it never segfaults with mod_perl disabled. Really strange.

It's interesting though that apache tries to call ap_send_error_response before the crash occurs. No byte of output reaches the web browser (empty document received). The only thing I see is the segfault mentioned in the error_log.

I also hacked the mod_perl ebuild to install mod_perl-2.0.0-RC4, which works now, but this bug still remains.

If you have any suggestions what I should try or what you'd like me to find out, please let me know.


Reproducible: Always
Steps to Reproduce:
Comment 1 Christophe Saout 2005-03-17 06:12:11 UTC
Crap, turned out to be some sort of libgcc mixup with a co-installed (but not active) gcc 4.0 for playing, something that confuses the dynamic linker on amd64 but not x86.