Bug 2439 - The Apache web server fails if the mod_perl RPM is installed
Summary: The Apache web server fails if the mod_perl RPM is installed
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: High critical
Target Milestone: ---
Assignee: D Morgan
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-16 19:39 CEST by Frédéric "LpSolit" Buclin
Modified: 2012-01-29 21:20 CET (History)
2 users (show)

See Also:
Source RPM: apache-mod_perl-2.0.5-4.mga2
CVE:
Status comment:


Attachments

Description Frédéric "LpSolit" Buclin 2011-08-16 19:39:31 CEST
Without apache-mod_perl-2.0.5-4.mga2 installed:

# service -f httpd
Starting httpd:                                                [  OK  ]

With mod_perl installed:

# service -f httpd
Starting httpd: ./httpd: line 165:  5800 Segmentation fault      $httpd
$httpdconf $extramodules $modules $options  (wd: /etc/init.d)  [ÃCHEC ]
Comment 1 Shlomi Fish 2011-08-21 22:17:23 CEST
Hi Frédéric,

(In reply to comment #0)
> Without apache-mod_perl-2.0.5-4.mga2 installed:
> 
> # service -f httpd
> Starting httpd:                                                [  OK  ]
> 
> With mod_perl installed:
> 
> # service -f httpd
> Starting httpd: ./httpd: line 165:  5800 Segmentation fault      $httpd
> $httpdconf $extramodules $modules $options  (wd: /etc/init.d)  [ÃCHEC ]

I can reproduce this on i586, but the problem is not present on x86-64 (both Mageia Cauldron). I wonder what causes it.

Regards,

-- Shlomi Fish

CC: (none) => shlomif

Comment 2 Shlomi Fish 2011-08-23 10:05:20 CEST
Here is what I discovered using gdb:

<QUOTE>
[root@telaviv1 ~]# gdb --command=cmds.gdb /usr/sbin/httpd 
GNU gdb (GDB) 7.1-6.mga1 (Mageia release 1)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-mageia-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/httpd...Reading symbols from /usr/lib/debug/usr/sbin/httpd.debug...done.
done.
[Thread debugging using libthread_db enabled]
warning: no loadable sections found in added symbol-file /usr/lib/debug/usr/lib/apache-extramodules/mod_perl.so.debug
warning: no loadable sections found in added symbol-file /usr/lib/debug/usr/lib/perl5/5.14.1/i386-linux-thread-multi/CORE/libperl.so.debug

Program received signal SIGSEGV, Segmentation fault.
0xb78a8a84 in modperl_env_clear (my_perl=0x821d728) at modperl_env.c:100
100         HV *hv = ENVHV;
(gdb) print my_perl
$1 = (PerlInterpreter *) 0x821d728
(gdb) print PL_curinterp 
$2 = (PerlInterpreter *) 0x821d728
(gdb) print PL_curinterp->Ienvgv->sv_u.svu_gp->gp_hv[0]
$3 = {sv_any = 0x8225f38, sv_refcnt = 1, sv_flags = 549453836, sv_u = {
    svu_pv = 0x823cd60 "", svu_iv = 136564064, svu_uv = 136564064, 
    svu_rv = 0x823cd60, svu_array = 0x823cd60, svu_hash = 0x823cd60, 
    svu_gp = 0x823cd60, svu_fp = 0x823cd60}}
(gdb) print my_perl->Ienvgv->sv_u.svu_gp->gp_hv[0]
Cannot access memory at address 0xd
(gdb) print PL_curinterp == my_perl
$4 = 1
(gdb) print sizeof(my_perl[0])
$5 = 1752
(gdb) print sizeof(PL_curinterp[0])
$6 = 1768
(gdb) 
</QUOTE>

Apparently, there's an inconsistency between the PerlInterpreter definition in those places. This may be caused by inconsistent compiler flags.
Comment 3 Frédéric "LpSolit" Buclin 2011-09-19 00:02:25 CEST
Could someone fix this problem? Having the Apache server unable to start seems pretty critical to me. For now, the workaround is to uninstall mod_perl.
Manuel Hiebel 2011-09-19 00:05:14 CEST

Assignee: bugsquad => dmorganec

Comment 4 Frédéric "LpSolit" Buclin 2011-10-10 21:35:40 CEST
Looks like this problem happens with Fedora too.

See Also: (none) => https://bugzilla.redhat.com/show_bug.cgi?id=730832

Comment 5 Frédéric "LpSolit" Buclin 2011-10-24 17:12:44 CEST
Shlomi, could you have a look at https://bugzilla.redhat.com/show_bug.cgi?id=730832#c8 ?
Comment 6 Shlomi Fish 2011-10-24 19:11:06 CEST
(In reply to comment #5)
> Shlomi, could you have a look at
> https://bugzilla.redhat.com/show_bug.cgi?id=730832#c8 ?

OK, I will. Right now I'm upgrading a snapshot of my i586 Mageia 1 VM to Mageia Cauldron so I can test it there. It will be time-consuming, so I'll keep you posted.
Comment 7 Shlomi Fish 2011-10-25 14:59:42 CEST
(In reply to comment #5)
> Shlomi, could you have a look at
> https://bugzilla.redhat.com/show_bug.cgi?id=730832#c8 ?

OK, I tested it and it seems to fix the problem. Please test apache-mod_perl-2.0.5-12.mga2 (which incorporates the patch in question) and let me know if it fixes the problem for you.
Comment 8 Marja Van Waes 2012-01-28 19:48:34 CET
Pinging, because nothing has happened with this report for more than 3 months, it still has the status NEW or REOPENED.

@ D Morgan

Please set status to ASSIGNED if you think this bug was assigned correctly. If for work flow reasons you can't do that, then please put OK on the whiteboard instead. Don't change anything if you want to be pinged by me again in this report;)

CC: (none) => marja11

Comment 9 Shlomi Fish 2012-01-29 21:20:07 CET
I'm resolving this bug report as fixed. If Mr. Buclin is still experiencing problems, he is free to reopen this bug report, and I'll deal with the new problems further. But this bug is working for me.

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.