Re: Bus error on Mac OS X 10.3.9 while configuring mod_perl-2.0.0-RC5

[prev] [thread] [next] [Date index for 2005/04/25]

From: Stas Bekman
Subject: Re: Bus error on Mac OS X 10.3.9 while configuring mod_perl-2.0.0-RC5
Date: 22:25 on 25 Apr 2005
J Matisse Enzer wrote:
> 
> On Apr 25, 2005, at 2:56 PM, Stas Bekman wrote:
> 
>>
>> Looks like a bug in perl. But it's hard to tell.
>>
>> Matisse, please try to run it under the perl debugger to see where  
>> exactly it crashes. that'd be:
>>
>> perl -d Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs  
>> PREFIX=/usr/local
> 
> 
> OK, so i ran it under the debugger, and started stepping through, typing
>    n
> at each debugger prompt, and eventually got bored and decided to let it  
> run so i typed:
>   r
> at the damn thing seemed to work - ran to the end without an error,
> So I did a     make clean     and tried again, and it worked again  
> (under the debugger),
> so I did another  make clean  and ran the configuration without the  
> debugger and it worked.

Heh, your system got scared when it saw that you know how to use the 
debugger :)

> Then
>    make
> worked, and
>    make test
> fails with:
> 
> [Mon Apr 25 15:15:59 2005] [info] base server + 27 vhosts ready to run  
> tests
> .[Mon Apr 25 15:16:00 2005] [error] Insecure directory in $ENV{PATH}  
> while running with -T switch at  
> /usr/local/src/mod_perl/mod_perl-2.0.0-RC5/Apache-Test/lib/Apache/ 
> TestConfig.pm line 1059.\nCompilation failed in require at  
> /usr/local/src/mod_perl/mod_perl-2.0.0-RC5/t/conf/modperl_startup.pl  
> line 17.\n\t...propagated at  
> /usr/local/src/mod_perl/mod_perl-2.0.0-RC5/t/conf/modperl_startup.pl  
> line 18.\nBEGIN failed--compilation aborted at  
> /usr/local/src/mod_perl/mod_perl-2.0.0-RC5/t/conf/modperl_startup.pl  
> line 20.\nCompilation failed in require at (eval 2) line 1.\n
> [Mon Apr 25 15:16:00 2005] [error] Can't load Perl file:  
> /usr/local/src/mod_perl/mod_perl-2.0.0-RC5/t/conf/modperl_startup.pl  
> for server localhost:8529, exiting...

Please take a look at Apache-Test/lib/Apache/TestConfig.pm, it has a 
function that untaints the PATH:

# Temporarily untaint PATH
sub untaint_path {
     my $path = shift;
     ($path) = ( $path =~ /(.*)/ );
     # win32 uses ';' for a path separator, assume others use ':'
     my $sep = WIN32 ? ';' : ':';
     # -T disallows relative and empty directories in the PATH
     return join $sep, grep !/^(\.|$)/, split /$sep/, $path;
}

try to see why it failed to do the job, by dumping the values of $path 
before and after it (at around line 1059).

If you don't figure it out post it here.

May be on Mac you have a different path separator?


        -- 
        __________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@xxxxxx.xxx http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Re: Bus error on Mac OS X 10.3.9 while configuring mod_perl-2.0.0-RC5
Stas Bekman 22:25 on 25 Apr 2005

Generated at 09:30 on 27 Apr 2005 by mariachi v0.52