You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Paul G. Weiss" <PG...@arity.com> on 2000/10/31 21:36:47 UTC

Apache 1.3.14 and Apache::RegistryLoader

I tried using Apache::RegistryLoader with my
Apache 1.3.14/mod_perl 1.24_2 installation.

I put this in a file that I PerlRequire:

use Apache::RegistryLoader ();

my $perl_dir = Apache->server_root_relative."docs";
my $cmd = qq{find $perl_dir -follow \\( -name "*.pl" -o -name "*.cgi" \\)
-print};
my $output = `$cmd`;
my @files = split /\s+/, $output;
my $rl = Apache::RegistryLoader->new;
foreach my $file (@files)
{
    print "pre-loading $file\n";
    $file =~ /$perl_dir(.*)/;
    my $status = $rl->handler($1, $file);
    unless($status == 200) {
        warn "pre-load of `$url' failed, status=$status\n";
    }
}

(In other words, I load every .cgi or .pl file found under a certain 
directory.  I've also coded it with File::Find instead of running
find as a separate process with the same results.)

The results were not good.  This appeared in error_log:

[Tue Oct 31 15:26:32 2000] [notice] caught SIGTERM, shutting down
signal fault in critical section
signal number: 11, signal code: 1, fault address: 0x1a5c, 
                               pc: 0xff3b9c64, sp: 0xffbef530
libthread panic: fault in libthread critical section (PID: 19927 LWP 1)
stacktrace:
        ff3b9c30
        ff3be3a0
        ff3bd498
        ff3bd4f4
        4bfd8
        fedc185c
        fedc189c
        1c2c4
        199fc
        329f0
        33808
        18e98
        0

This is under Solaris 2.7.  The perl that I used for mod_perl was not
built with any threading options.  Is this now required, given that 
Apache 1.3.14 appears to be using threads?

-Paul