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/19 11:35:27 UTC

Segmentation Fault

Hello all,

I posted this just before everyone got all excited about the ORA conference
and I think it may have been overlooked. I'd really appreciate hearing from
anyone who can give me some clues regarding the back trace.

Cheers,
Greg.

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! [Ged has pointed
me at something in the guide that has a partial explanation for this...])

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.

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;
------------------------------