RE: Apache 1.3.14 and Apache::RegistryLoader

2000-11-07 Thread Paul G. Weiss

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 LWP2]
 [New LWP3]
 
 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 LWP3  0xff215094 in door_restart () from 
 /usr/lib/libc.so.1
   2 LWP2  0xff2174bc in _signotifywait () from 
 /usr/lib/libc.so.1
   1 LWP1  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 
 
 



RE: Apache 1.3.14 and Apache::RegistryLoader

2000-11-07 Thread G.W. Haywood

Hi Paul,

On Tue, 7 Nov 2000, Paul G. Weiss wrote:

 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!

Thanks for sharing that with the List, Paul.

73,
Ged.




RE: Apache 1.3.14 and Apache::RegistryLoader

2000-11-01 Thread Paul G. Weiss

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 LWP2]
[New LWP3]

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 LWP3  0xff215094 in door_restart () from /usr/lib/libc.so.1
  2 LWP2  0xff2174bc in _signotifywait () from
/usr/lib/libc.so.1
  1 LWP1  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 




RE: Apache 1.3.14 and Apache::RegistryLoader

2000-10-31 Thread Geoffrey Young


I have no idea, but if it helps, here is a snip from my startup.pl

it works just fine on:
1.3.14/perl5.6 (-Dusethreads)/linux(RH6.2)/modperl cvs (1.24_02)
1.3.14/perl5.00503/Solaris/modperl 1.24_01

my $rl = Apache::RegistryLoader-new;

my $dh = DirHandle-new("/usr/local/apache/perl-bin") || die $!;

foreach my $file ($dh-read) {
  next unless $file =~ m/\.pl$|\.cgi$/;
  print "pre-loading $file\n";

  $rl-handler("/perl-bin/$file" = "/usr/local/apache/perl-bin/$file");
}

although hardcoded, I've never had a problem with it and it...

HTH

--Geoff

 -Original Message-
 From: Paul G. Weiss [mailto:[EMAIL PROTECTED]]
 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