Bug 10206
Summary: | PerlRequire crashing apache | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | jjanssen |
Component: | apache | Assignee: | Nalin Dahyabhai <nalin> |
Status: | CLOSED RAWHIDE | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 6.1 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2000-03-20 13:38:49 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
jjanssen
2000-03-16 14:49:17 UTC
I tried it with the versions of Apache (1.3.12-1) and mod_perl (1.21-9) in Raw Hide (ftp://ftp.redhat.com/pub/rawhide/i386/RedHat/RPMS/) and am unable to reproduce this here with this in /etc/httpd/lib/perl/init.pl: ===cut=== #!/usr/bin/perl require MD5; require CGI; print "Perl initialized!\n"; 1; ===cut=== Here's the modified section of my httpd.conf file: ===cut=== # If the perl module is installed, this will be enabled. <IfModule mod_perl.c> Alias /perl/ /home/httpd/perl/ <Location /perl> SetHandler perl-script PerlHandler Apache::Registry Options +ExecCGI </Location> PerlRequire init.pl </IfModule> ===cut=== This may have been fixed in newer versions I incorporated into the distribution when I did the sweep to update Apache and its modules. Raw Hide's last update as of this writing was February 28, and included all of the bugs we fixed in the tree between the Piglet beta and the moment Raw Hide froze that day. I've retried apache-1.3.12-1 with mod_perl-1.21-9 and get the same error above. Syntax error on line 242 of /etc/httpd/conf/httpd.conf: API module structure `perl_module' in file /etc/httpd/modules/libperl.so is garbled - perhaps this is not an Apache module DSO? I've tried starting with older versions of apache and rpm -U up to the current, and also a fresh install (rpm -i after rpm -e) with the same results. I tried the same thing you tried with the simple startup script with a few rev's back from rawhide with the default httpd.conf (with mod_perl and your changes) and the init.pl is the same. [root@p171098 apache]# rpm -q apache apache-1.3.9-8 [root@p171098 apache]# rpm -q mod_perl mod_perl-1.21-2 [root@p171098 apache]# /etc/rc.d/init.d/httpd start Starting httpd: [ OK ] [root@p171098 apache]# ps axf PID TTY STAT TIME COMMAND 1 ? S 0:07 init 2 ? SW 0:00 [kflushd] 3 ? SW 0:01 [kupdate] 4 ? SW 0:00 [kpiod] 5 ? SW 0:00 [kswapd] 6 ? SW< 0:00 [mdrecoveryd] 438 ? S 0:00 portmap 493 ? S 0:00 syslogd -m 0 504 ? S 0:00 klogd 520 ? S 0:00 /usr/sbin/atd 536 ? S 0:00 crond 556 ? S 0:00 inetd 1469 ? R 0:00 \_ in.telnetd 1470 pts/1 S 0:00 \_ login -- eprint 1471 pts/1 S 0:00 \_ -bash 1482 pts/1 S 0:00 \_ su -l 1483 pts/1 S 0:00 \_ -bash 7129 pts/1 R 0:00 \_ ps axf 572 ? S 0:00 lpd 610 ? S 0:00 sendmail: accepting connections on port 25 627 ? S 0:00 gpm -t ps/2 670 ? S 0:00 xfs -droppriv -daemon -port -1 706 tty1 S 0:00 login -- root 714 tty1 S 0:00 \_ -bash 708 tty3 S 0:00 /sbin/mingetty tty3 709 tty4 S 0:00 /sbin/mingetty tty4 710 tty5 S 0:00 /sbin/mingetty tty5 711 tty6 S 0:00 /sbin/mingetty tty6 1290 tty2 S 0:00 /sbin/mingetty tty2 ! not running! [root@p171098 apache]# which httpd /usr/sbin/httpd [root@p171098 apache]# /usr/sbin/httpd -X Perl initialized! Segmentation fault (core dumped) This seems to be consistent with basically every version of apache I can get my hands on, including the secure webserver, but excluding the rawhide (since I can't get that far in the startup process) and this case: [root@p171098 apache]# rpm -q apache apache-1.3.6-7 [root@p171098 apache]# rpm -q mod_perl mod_perl-1.19-2 [root@p171098 apache]# /usr/sbin/httpd -X & [1] 7286 [root@p171098 apache]# Perl initialized! Perl initialized! [root@p171098 apache]# !We're good, my biggest problem is that I can get one of three things that seem to be mutually exclusive, but I need all three: a) The latest version of apache b) mod_perl c) secure webserver If this bug is fixed in the rawhide+ version, how long will it be before a secure version comes out? Thanks for your help. A new version of secureweb (3.2) will be in Red Hat Linux Professional 6.2 when it ships, and I'm not really certain just now when that will be. At the moment, secureweb is tracking changes made to the regular Apache packages because I'm maintaining both of them, and we've verified that they can use the same DSOs without problems (Apache from Raw Hide should have the EAPI patch pulled into it, which should simplify sharing). Taking another look at your report, it looks like Apache is looking for the libperl.so module in /etc/httpd/modules, which should be a symlink to /usr/lib/apache. Does the path resolve to the right file? If nothing else works, you might want to grab the updated Apache .src.rpm file, run "rpm --rebuild" on it, upgrade to the new apache and apache-devel packages that get built, and rebuild mod_perl specifically for your system by following a similar process. This should fix any inconsistencies that crop up. I've found a fix that is acceptable for now. In the httpd.conf file, simply do the LoadModule and AddModule for mod_perl before any others. It worked for me! Compliments to Bug: 8169. Verified that this still works with apache-1.3.12-16 and mod_perl-1.24-2. |