You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Fran Fabrizio <ff...@mmrd.com> on 2002/03/01 17:55:42 UTC
RegistryLoader Segmentation fault
Hello,
I'm trying to follow the script in section 2.14 of the book "mod_perl
Developer's Cookbook" in order to pre-load my Apache::registry scripts
using Apache::RegistryLoader. I'm getting a seg fault when I attempt to
start apache.
My startup.pl is as follows:
#!/usr/local/bin/perl
use lib qw(/usr/local/apache/lib/perl);
use Apache::DBI;
use Apache::Registry;
use Apache::RegistryLoader;
use DBI;
use DBD::Pg;
use strict;
use CGI qw(-compile :all);
use DirHandle;
my $rl = Apache::RegistryLoader->new;
my $dh = DirHandle->new("/usr/local/apache/cgi-bin/chimpkit/") or die $!;
foreach my $file ($dh->read) {
next unless $file =~ m/\.pl$/;
print STDOUT "Pre-loading $file\n";
$rl->handler("/cgi-bin/chimpkit/$file","/usr/local/apache/cgi-bin/chimpkit/$file");
}
1;
When I attempt to start apache, I get the following messages on STDOUT:
[root@castle bin]# ./apachectl start
Pre-loading chimpworks.pl
Apache::Debug: [level 1]
Compiled package "Apache::ROOT::cgi_2dbin::chimpkit::chimpworks_2epl"
for process 27233 at
/usr/lib/perl5/site_perl/5.6.0/i386-linux/Apache/RegistryLoader.pm line 76.
./apachectl: line 171: 27233 Segmentation fault (core dumped) $HTTPD
./apachectl start: httpd could not be started
[root@castle bin]#
Nothing has been written to the error log. The format of my
$rl->handler() call seems ok to me. I perused the archives for a while
and tried a couple of things that fixed other people's RegistryLoader
problems, to no avail. Everything works fine if I comment out the call
to handler() except of course now each child has a copy of the compiled
code. Any thoughts?
Thanks,
Fran
Re: RegistryLoader Segmentation fault
Posted by Fran Fabrizio <ff...@mmrd.com>.
> see Recipe 9.19 for a general introduction into using gbd and getting
> a backtrace, as well as the SUPPORT document in the mod_perl sources
Here is the backtrace for now. I'm going to try Perl 5.6.1 and then try
to see what the backtrace looks like with a PERL_DEBUG=1 enabled
mod_perl. Thanks for the help thus far.
-Fran
(gdb) bt
#0 0x80ca6b6 in Perl_gv_init ()
#1 0x80cb9d5 in Perl_gv_fetchpv ()
#2 0x80810dd in perl_section_hash_init ()
#3 0x8081403 in perl_section ()
#4 0x809aa40 in ap_clear_module_list ()
#5 0x809b598 in ap_handle_command ()
#6 0x809b635 in ap_srm_command_loop ()
#7 0x809ef2a in ap_limit_section ()
#8 0x809aa40 in ap_clear_module_list ()
#9 0x809b598 in ap_handle_command ()
#10 0x809b635 in ap_srm_command_loop ()
#11 0x809bd52 in ap_process_resource_config ()
#12 0x80a0cc7 in ap_exists_config_define ()
#13 0x809aadc in ap_clear_module_list ()
#14 0x809b598 in ap_handle_command ()
#15 0x809b635 in ap_srm_command_loop ()
#16 0x809bd52 in ap_process_resource_config ()
#17 0x809c695 in ap_read_config ()
#18 0x80a6e9f in main ()
#19 0x400a1b65 in __libc_start_main (main=0x80a6bb8 <main>, argc=1,
ubp_av=0xbffffaf4, init=0x80621d4 <_init>, fini=0x814a26c <_fini>,
rtld_fini=0x4000df24 <_dl_fini>, stack_end=0xbffffaec)
at ../sysdeps/generic/libc-start.c:111
Re: RegistryLoader Segmentation fault
Posted by Geoffrey Young <ge...@modperlcookbook.org>.
whoops, forgot to CC the list, but it seems Ged stepped in with the
same info...
Fran Fabrizio wrote:
>
> Hello,
>
> I'm trying to follow the script in section 2.14 of the book "mod_perl
> Developer's Cookbook" in order to pre-load my Apache::registry scripts
> using Apache::RegistryLoader. I'm getting a seg fault when I attempt to
> start apache.
>
I've never seen a segfault with RegistryLoader, but there are a few
avenues that might help.
see Recipe 9.19 for a general introduction into using gbd and getting
a backtrace, as well as the SUPPORT document in the mod_perl sources
maybe someone else has seen this before and can offer more help
--Geoff
Re: RegistryLoader Segmentation fault
Posted by Fran Fabrizio <ff...@mmrd.com>.
Fran Fabrizio wrote:
>
> Hello,
>
> I'm trying to follow the script in section 2.14 of the book "mod_perl
> Developer's Cookbook" in order to pre-load my Apache::registry scripts
> using Apache::RegistryLoader. I'm getting a seg fault when I attempt to
> start apache.
This was the problem I was having last Friday. Just wanted to post the
results - the upgrade to Perl 5.6.1 solved the problem. PERL_DEBUG=1 on
mod_perl compilation was also very helpful. Thanks to everyone for
their help!
-Fran
Re: RegistryLoader Segmentation fault
Posted by Fran Fabrizio <ff...@mmrd.com>.
Ged,
>>using Apache::RegistryLoader. I'm getting a seg fault when I attempt to
>>start apache.
>>
>
> Read mod_perl/SUPPORT.
Ok I've looked through it. I've tried some of the quicker
suggestions... gdb -core core and gdb httpd core tell me:
Core was generated by `/usr/local/apache/bin/httpd'.
Program terminated with signal 11, Segmentation fault.
#0 0x80ca6b6 in Perl_gv_init ()
I'll try some of the more involved stuff here in a moment
> Did you compile your own Perl, mod_perl and Apache?
Yes. Perl 5.6.0, mod_perl 1.25, apache 1.3.19.
> You might be better off with Perl version 5.6.1 instead.
I will upgrade and see what happens.
> Are you using DSO?
No.
Thanks for the pointers thus far!
-Fran
Re: RegistryLoader Segmentation fault
Posted by Ged Haywood <ge...@www2.jubileegroup.co.uk>.
Hi there,
On Fri, 1 Mar 2002, Fran Fabrizio wrote:
> using Apache::RegistryLoader. I'm getting a seg fault when I attempt to
> start apache.
Read mod_perl/SUPPORT.
Did you compile your own Perl, mod_perl and Apache?
You might be better off with Perl version 5.6.1 instead.
Are you using DSO?
73,
Ged.