You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Greg Leidreiter <ge...@ozemail.com.au> on 2000/07/15 12:31:45 UTC

Segmentation Fault [was: The Eagle has Landed!]

Hello all,

I have recompiled mod_perl/apache with PERL_DEBUG=1

running

	gdb httpd

followed by

	run httpd -X

produces the following output:

	startup.pl is attempting to modify the include path...

	startup.pl is attempting to modify the include path...

	Program received signal SIGSEGV, segmentation fault
	0x807ca20 in perl_handler_ismethod()

(It is interesting that the "...modification..." line appears twice. I added
it (once only!)
to the beginning of my startup.pl so that I could see if it was being found.
It somehow  seems to be being found more than I expected!)

bt produces:

#0	0x807ca20 in perl_handler_ismethod()
#1	0x807d2c4 in perl_call_handler()
#2	0x807ce36 in perl_run_stacked_handler()
#3	0x807bb7d in perl_handler()
#4	0x8096af3 in ap_invoke_handler()
#5	0x80aa0f9 in ap_some_auth_required()
#6	0x80aa15c in ap_process_request()
#7	0x80a1a0e in ap_child_terminate()
#8	0x80a1b9c in ap_child_terminate()
#9	0x80a1cf9 in ap_child_terminate()
#10	0x80a2326 in ap_child_terminate()
#11	0x80a2ab3 in main()
#12	0x400d31eb in --libc_start_main (main=0x80a276c <main>, argc=3,
argv=0xbffffce4, init=0x8061f9c <_init>, fini=0x8136d7c <_fini>,
rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffcdc) at
../sysdeps/generic/libc-start.c:90


If this makes sense to anybody please drop me a line, I've read all the way
through chapters
1-6 and I'm itching to try out some code... just can't get the setup
straight :0

Thanks,
Greg



PS. Here is the config again, just to be sure:

Perl 5.6.0
Apache 1.3.12
mod_perl-1.24

ServerRoot is /usr/local/apache
underneath which I have created the lib/perl/Apache tree for holding
mod_perl modules,
and dutifully entered the required code in a file called Hello.pm in this
directory.

DocumentRoot is /usr/local/apache/htdocs

in httpd.conf I have added the following:
------------------------------
<IfModule mod_perl.c>
	Include conf/perl.conf
</IfModule>
------------------------------


conf/perl.conf looks like this:
------------------------------
PerlRequire conf/startup.pl
PerlFreshRestart On

<Location /hello/world>
	SetHandler perl-script
	PerlHandler Apache::Hello
</Location>

-------------------------------

and startup.pl looks like this:
-------------------------------
#!/usr/local/bin/perl

print "\n\tstartup.pl is attempting to modify the include path...\n\n";

BEGIN {
	use Apache();
	use lib Apache->server_root_relative('lib/perl');
}

use Apache::Registry
use Apache::Constants
use CGI qw(-compile :all);
use CGI::Carp;

1;
------------------------------


Re: Segmentation Fault [was: The Eagle has Landed!]

Posted by jeff <je...@planetoid.net>.
ANy word on why the startup print line is executing twice. I'm having the same
problem. But I'm running apache w/o the -X option.


Greg Leidreiter wrote:

> Hello all,
>
> I have recompiled mod_perl/apache with PERL_DEBUG=1
>
> running
>
>         gdb httpd
>
> followed by
>
>         run httpd -X
>
> produces the following output:
>
>         startup.pl is attempting to modify the include path...
>
>         startup.pl is attempting to modify the include path...
>
>         Program received signal SIGSEGV, segmentation fault
>         0x807ca20 in perl_handler_ismethod()
>
> (It is interesting that the "...modification..." line appears twice. I added
> it (once only!)
> to the beginning of my startup.pl so that I could see if it was being found.
> It somehow  seems to be being found more than I expected!)
>
> bt produces:
>
> #0      0x807ca20 in perl_handler_ismethod()
> #1      0x807d2c4 in perl_call_handler()
> #2      0x807ce36 in perl_run_stacked_handler()
> #3      0x807bb7d in perl_handler()
> #4      0x8096af3 in ap_invoke_handler()
> #5      0x80aa0f9 in ap_some_auth_required()
> #6      0x80aa15c in ap_process_request()
> #7      0x80a1a0e in ap_child_terminate()
> #8      0x80a1b9c in ap_child_terminate()
> #9      0x80a1cf9 in ap_child_terminate()
> #10     0x80a2326 in ap_child_terminate()
> #11     0x80a2ab3 in main()
> #12     0x400d31eb in --libc_start_main (main=0x80a276c <main>, argc=3,
> argv=0xbffffce4, init=0x8061f9c <_init>, fini=0x8136d7c <_fini>,
> rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffcdc) at
> ../sysdeps/generic/libc-start.c:90
>
> If this makes sense to anybody please drop me a line, I've read all the way
> through chapters
> 1-6 and I'm itching to try out some code... just can't get the setup
> straight :0
>
> Thanks,
> Greg
>
> PS. Here is the config again, just to be sure:
>
> Perl 5.6.0
> Apache 1.3.12
> mod_perl-1.24
>
> ServerRoot is /usr/local/apache
> underneath which I have created the lib/perl/Apache tree for holding
> mod_perl modules,
> and dutifully entered the required code in a file called Hello.pm in this
> directory.
>
> DocumentRoot is /usr/local/apache/htdocs
>
> in httpd.conf I have added the following:
> ------------------------------
> <IfModule mod_perl.c>
>         Include conf/perl.conf
> </IfModule>
> ------------------------------
>
> conf/perl.conf looks like this:
> ------------------------------
> PerlRequire conf/startup.pl
> PerlFreshRestart On
>
> <Location /hello/world>
>         SetHandler perl-script
>         PerlHandler Apache::Hello
> </Location>
>
> -------------------------------
>
> and startup.pl looks like this:
> -------------------------------
> #!/usr/local/bin/perl
>
> print "\n\tstartup.pl is attempting to modify the include path...\n\n";
>
> BEGIN {
>         use Apache();
>         use lib Apache->server_root_relative('lib/perl');
> }
>
> use Apache::Registry
> use Apache::Constants
> use CGI qw(-compile :all);
> use CGI::Carp;
>
> 1;
> ------------------------------

--
Jeff Saenz
jeff@planetoid.net



Re: Segmentation Fault [was: The Eagle has Landed!]

Posted by "G.W. Haywood" <ge...@jubileegroup.co.uk>.
Hi there,

On Sat, 15 Jul 2000, Greg Leidreiter wrote:

> I have recompiled mod_perl/apache with PERL_DEBUG=1

> 	startup.pl is attempting to modify the include path...
> 	startup.pl is attempting to modify the include path...
> 	Program received signal SIGSEGV, segmentation fault
> 	0x807ca20 in perl_handler_ismethod()

> (It is interesting that the "...modification..." line appears
> twice. I added it (once only!)  to the beginning of my startup.pl so
> that I could see if it was being found.  It somehow seems to be
> being found more than I expected!)

Have a look for $Apache::Server::Starting an PERL_STARTUP_DONE_CHECK
in the Guide.  They in the configuration and troubleshooting sections
in my (oldish - February) copy.  The Guide's kindofa moving target.

Eric will probably help you with the sigsev.
They seem to be getting more common thesedays...

73,
Ged.