I thought I'd let the list know that I resolved the problem,
even though the lack of response leads me to believe that it
is a problem that only I am experiencing.

It turns out that the installation of Solaris that I was
on lacked the patch 106950-13, which among other things 
addressed problems with dynamic linking.  My installation
was only at 106950-06.  When I tried it on another box
that was at 106950-11, it worked fine.  Now to pack the
original box!

-Paul

> -----Original Message-----
> From: Paul G. Weiss 
> Sent: Wednesday, November 01, 2000 2:50 PM
> To: '[EMAIL PROTECTED]'
> Subject: RE: Apache 1.3.14 and Apache::RegistryLoader
> 
> 
> More info on the problem for some kind soul:
> 
> When I run the server under gdb in single server
> mode it produces the following output:
> 
> [New LWP    2        ]
> [New LWP    3        ]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xff3b9c64 in ?? ()
> (gdb) i thread
>   6 Thread 3          0xfe3ce64c in _reap_wait () from 
> /usr/lib/libthread.so.1
>   5 Thread 2 (LWP 2)  0xff2174bc in _signotifywait () from 
> /usr/lib/libc.so.1
> * 4 Thread 1 (LWP 1)  0xff3b9c64 in ?? ()
>   3 LWP    3          0xff215094 in door_restart () from 
> /usr/lib/libc.so.1
>   2 LWP    2          0xff2174bc in _signotifywait () from 
> /usr/lib/libc.so.1
>   1 LWP    1          0xff3b9c64 in ?? ()
> (gdb) bt
> #0  0xff3b9c64 in ?? ()
> #1  0xff3be3a8 in ?? ()
> #2  0xff3bd4a0 in ?? ()
> #3  0xff3bd4fc in ?? ()
> #4  0x4bed4 in ap_os_dso_unload (handle=0xfeed19a4) at os.c:133
> #5  0xfedc1864 in unload_xs_so (librefs=0xb18d0) at mod_perl.c:480
> #6  0xfedc18a4 in mp_dso_unload (data=0x7cb90) at mod_perl.c:512
> #7  0x1c2c8 in run_cleanups (c=0x92738) at alloc.c:1946
> #8  0x19a04 in ap_clear_pool (a=0x7cb90) at alloc.c:689
> #9  0x3298c in standalone_main (argc=6, argv=0xffbefac4) at 
> http_main.c:4741
> #10 0x337a4 in main (argc=6, argv=0xffbefac4) at http_main.c:5123
> (gdb) frame 4
> #4  0x4bed4 in ap_os_dso_unload (handle=0xfeed19a4) at os.c:133
> (gdb)
> 
> The last frame for which I have symbols shows the following:
> 
> void ap_os_dso_unload(void *handle)
> {
> #if defined(HPUX) || defined(HPUX10) || defined(HPUX11)
>     shl_unload((shl_t)handle);
> 
> #elif defined(HAVE_DYLD)
>     NSUnLinkModule(handle,FALSE);
> 
> #else
> =>  dlclose(handle);
> #endif
> 
>     return;
> }
> 
> Again, can I ask if anyone out there is doing the following:
> 
>       using 1.3.14 under Solaris 2.7
>       using DSO's 
>       using Perl 5.6.0 built w/o threading options
> 
> Is this a no-no?
> 
> By the way, I have simplified my startup script to only 
> make a single call to Apache::RegistryLoader::handler
> for a particular file.  Same result.  Without the call
> to Apache::RegistryLoader::handler the server seems to
> perform flawlessly.
> 
> 
> -Paul
> 
> -----Original Message-----
> From: Paul G. Weiss 
> Sent: Tuesday, October 31, 2000 3:37 PM
> To: '[EMAIL PROTECTED]'
> Subject: 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 
> 
> 

Reply via email to