Bug 113896

Summary: mod_perl uses garbled include paths, causing Internal Server Errors on requests
Product: [Fedora] Fedora Reporter: Chris Jaeger <cjj2>
Component: mod_perlAssignee: Joe Orton <jorton>
Status: CLOSED INSUFFICIENT_DATA QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 1CC: mattdm
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-28 15:03:44 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 Chris Jaeger 2004-01-19 23:21:49 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Gecko/20031114

Description of problem:
When attempting to view a page via httpd/mod_perl, the browser gets 
back an "Internal Server Error", and the httpd logs report that it
can't load some of the Apache mod_perl files. An strace of httpd while
serving the request seems to indicate that the include paths that 
mod_perl uses to find perl modules are garbled (i.e. there appears to
be a "-L" prepended to many of the paths). 

Version-Release number of selected component (if applicable):
mod_perl-1.99_09-10

How reproducible:
Always

Steps to Reproduce:
1. Add the following to the end of /etc/httpd/conf.d/perl.conf

Alias /perl /var/www/perl
<Directory /var/www/perl>
  Allow from All
  AllowOverride All
  Order allow,deny
  Options +ExecCGI

  SetHandler perl-script
  PerlHandler Apache::Registry
  PerlSendHeader On
</Directory>

2. Create the directory /var/www/perl
3. Place the following in /var/www/perl/index.pl

my $r = Apache->request;
 $r->content_type("text/html");
 $r->send_http_header;
 $r->print("Hi There!");

4. Attempt to view http://host/perl/index.pl
    

Actual Results:  Internal Server Error

Expected Results:  Page should have been displayed

Additional info:

The following information appears in /var/log/httpd/error_log:

[Mon Jan 19 15:02:19 2004] [error] [client 10.8.11.61] Can't locate
Apache/Registry.pm in @INC (@INC contains:
/usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1
/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 .
/etc/httpd/ /etc/httpd/lib/perl) at (eval 1) line 3.

An strace of httpd while running shows the following sequence when
looking for Apache/Constants.pm:

5340  17:57:07
stat64("-L/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi"
, 0x8b4be30) = -1 EACCES (Permission denied)
5340  17:57:07
stat64("-L/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi"
, 0x8b4be30) = -1 EACCES (Permission denied)
...

which would appear to imply that somehow mod_perl's list of include
directories somehow got scrambled.

Comment 1 Matthew Miller 2006-07-11 17:43:13 UTC
Fedora Core 1 is maintained by the Fedora Legacy project for security updates
only. If this problem is a security issue, please reopen and reassign to the
Fedora Legacy product. If it is not a security issue and hasn't been resolved in
the current FC5 updates or in the FC6 test release, reopen and change the
version to match.

Thanks!

NOTE: Fedora Core 1 is reaching the final end of support even by the Legacy
project. After Fedora Core 6 Test 2 is released (currently scheduled for July
26th), there will be no more security updates for FC1. Please use these next two
weeks to upgrade any remaining FC1 systems to a current release.



Comment 2 John Thacker 2006-10-28 15:03:44 UTC
Closing per lack of response to the previous comment.  Note that FC1 and FC2 are
no longer supported even by Fedora Legacy.  If this bug still occurs on FC3 or
FC4, please assign to that version and Fedora Legacy.  If it still occurs on FC5
or FC6, please reopen and assign to the correct version.