[EMAIL PROTECTED] wrote:
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

apache crashes when accessing this modperl script:

package Apache::hello;

use strict;

use Apache::RequestRec ();
use Apache::RequestIO ();
use Apache::Const -compile => 'OK';

sub handler {
  my $request = shift;  # what does shift operate on @_?
  $request->content_type('text/html');

  $request->print(<<END);
<HTML>
<BODY>
        <H1>Hello There</H1>
</BODY>
</HTML>
END

return Apache::OK;
}

2. Used Components and their Configuration:

*** using /usr/download/modperl/mod_perl-1.99_09/t/../lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_AP_PREFIX    => /usr/httpd20
  MP_COMPAT_1X    => 1
  MP_GENERATE_XS  => 1
  MP_INST_APACHE2 => 1
  MP_LIBNAME      => mod_perl
  MP_USE_DSO      => 1
  MP_USE_STATIC   => 1

that's only a beginning of the report. Where is the rest? Why is it so hard to copy-n-paste the report? OK, I'll do that for you.


> 3. This is the core dump trace: (if you get a core dump):
>
> Apache crashes but does not dump core. I set unlimit to unlimited,
> made sure the filesystem from which 'httpd -X' is run has enough free space.
> Still no core. Could not find Bad::Segv module either in modperl or in
> CPAN and therefore could not try to dump using a script like core_dump.pl
> mentioned in 'Debugging mod_perl C Internals' document.

Yeah, I need to update the Bad::Segv part. It's called Debug::DumpCore.

> I was able to run 'httpd -X' from inside gbd and got a stack trace:
>
> (gdb) bt
> #0 0x402f1f47 in modperl_wbucket_write ()
> from /usr/httpd20/modules/mod_perl.so
> #1 0x40638701 in mpxs_Apache__RequestRec_print ()
> from /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/auto/Apache/RequestIO/RequestIO.so
> #2 0x406368c6 in XS_Apache__RequestRec_print ()
> from /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/auto/Apache/RequestIO/RequestIO.so
> #3 0x403868c5 in Perl_pp_entersub ()
> from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
> #4 0x4037f059 in Perl_runops_standard ()
> from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
> #5 0x40327139 in S_call_body ()
> from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
> #6 0x40326eb6 in Perl_call_sv ()
> from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
> #7 0x402ed4e2 in modperl_callback () from /usr/httpd20/modules/mod_perl.so
> #8 0x402ed9e4 in modperl_callback_run_handlers ()
> from /usr/httpd20/modules/mod_perl.so
> #9 0x402edc25 in modperl_callback_per_dir ()
> from /usr/httpd20/modules/mod_perl.so
> #10 0x402e9105 in modperl_response_handler_run ()
> from /usr/httpd20/modules/mod_perl.so
> #11 0x402e9325 in modperl_response_handler_cgi ()
> from /usr/httpd20/modules/mod_perl.so
> #12 0x0807b67e in ap_run_handler (r=0x81a9268) at config.c:195
> #13 0x0807bb96 in ap_invoke_handler (r=0x81a9268) at config.c:401
> #14 0x0806baab in ap_process_request (r=0x81a9268) at http_request.c:288
> #15 0x08067ce9 in ap_process_http_connection (c=0x816d458) at http_core.c:293
> #16 0x08084476 in ap_run_process_connection (c=0x816d458) at connection.c:85
> #17 0x0807a234 in child_main (child_num_arg=1080249231) at prefork.c:696
> #18 0x0807a3de in make_child (s=0x80b6178, slot=0) at prefork.c:736
> #19 0x0807a437 in startup_children (number_to_start=5) at prefork.c:808
> #20 0x0807ab29 in ap_mpm_run (_pconf=0x8079b10, plog=0x80ebb50, s=0x80b6178)
> at prefork.c:1024
> #21 0x0807f842 in main (argc=2, argv=0xbffffa74) at main.c:660
> #22 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6


The problem with this trace is that it doesn't show the arguments. You need to build mod_perl with MP_DEBUG=1 and generate it again.


__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com



Reply via email to