Hi!

Sorry, I did not check if this is known problem.

I recently forgot to follow through with a name change (equivalent to
renaming  Some::SimpleModule to Some::Simple::Module). I moved the
file, but forgot to change the package name.

Here is a much smaller version of my module that shows the problem:

package Some::SimpleModule;

use Apache::Constants qw(:http);

sub handler {
  return DECLINED;
}

1;

Add this to a standard http.conf.default:

<Location /test>
  SetHandler perl-script
  PerlHandler Some::Simple::Module
</Location>

Then try accessing http://localhost/test.

In the error log with full trace on:

running 1 server configured stacked handlers for /test...
calling &{PerlHandler->[0]} (1 total)
perl_setup_env...26 keys
mod_perl: inc seqno to 1 for /test
Some::Simple::Module symbol table not found, loading...
loading perl module 'Some::Simple::Module'...ok
perl_init_ids: uid=60001, euid=60001, gid=65534, egid=65534
`PerlChildInitHandler' push_handlers() stack is empty
PerlChildInitHandler handlers returned -1
[Thu Sep 14 12:58:59 2000] [notice] child pid 8990 exit signal Segmentation Fault 
(11), possible coredump in /sw/www.biering

(Getting the coredump in Solaris requires some version dependent
fiddling. This is Solaris 8, where I just use coreadm.)

This is the stack trace from the core:

8046b0c 
perl_handler_ismethod(0x82b46c8,0x81e5f62,0x828ee0c,0x80e255c,0x82fa59c,0x82a5ce8) + 61
8046b5c perl_call_handler(0x82fa59c,0x824b83c,0x0,0x80bc386,0x81e4f99,0x82fa59c) + 413
8046bac 
perl_run_stacked_handlers(0x81e4f99,0x824b83c,0x82a5ce8,0x80ba521,0x80ba49c,0x8046db0) 
+ 299
8046bec perl_handler(0x824b83c,0x81e52aa,0xb,0xffffffff) + 1b7
8046c2c ap_invoke_handler(0x824b83c,0x29,0x8046c5c,0x80d92be) + 11d
8046c5c process_request_internal(0x824b83c,0xdf7d0000,0x8046c8c,0x80e2f75) + 5d0
8046c8c ap_process_request(0x824b83c,0x4,0x824b83c,0x80e4e91) + 32
8046cdc child_main(0x0,0x80e37c0,0x8046d0c,0x80e5245) + 617
8046d0c make_child(0x824383c,0x0,0x39c0aece,0x80e1fce) + 13c
8046d3c startup_children(0x5,0x824383c,0x8046d6c,0x80e596f) + 72
8046d6c standalone_main(0x3,0x8046df4,0x8046dcc,0x80e61cb) + 1a4
8046dcc main(0x3,0x8046df4,0x8046e04) + 3b0

I believe this crash happens because sv_2cv returns a NULL pointer.
Then, CvFLAGS(cv) is used to access the flags field of a nonexistent
structure.

Sorry, I have no idea what to patch here. Holding for the Gurus ... ;-)
Probably this should be caught in perl_call_handler().

Lupe Christoph

PS: mod_perl is compiler with USE_APACI=1 EVERYTHING=1 PERL_TRACE=1
-- 
| [EMAIL PROTECTED]       |        http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."  ....  "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."           User Friendly 2000-01-01 |

Reply via email to