Unfortunately, I still get the same crash when run this way. The trace is the same as what I posted earlier - what seems to happen is that, within src/modules/perl/modperl_filter.c,
- in modperl_output_filter_handler, filter = modperl_filter_new(...); is called, and the debugger reports some non-null value for "filter". - this then this gets passed to status = modperl_run_filter(filter); - within modperl_run_filter a handler is created via handler = ((modperl_filter_ctx_t *)filter->f->ctx)->handler; but the debugger reports that filter->f->ctx is null.
The modperl_output_filter_handler in code goes:
if (((modperl_filter_ctx_t *)f->ctx)->sent_eos) {
MP_TRACE_f(MP_FUNC,
MP_FILTER_NAME_FORMAT
"write_out: EOS was already sent, "
"passing through the brigade\n",
MP_FILTER_NAME(f));
return ap_pass_brigade(f->next, bb);
}
else {
filter = modperl_filter_new(f, bb, MP_OUTPUT_FILTER_MODE,
0, 0, 0);
status = modperl_run_filter(filter);
}So ((modperl_filter_ctx_t *)f->ctx) is non-NULL, when it checks for sent_eos, right? Otherwise it'll segfault right there. Then it goes through modperl_filter_new which simply stashes f into filter->f. When it comes back (modperl_filter_ctx_t *)filter->f->ctx) should be non-null as well. Is it?
__________________________________________________________________ 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
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
