Stas Bekman wrote:
Joe Orton wrote:
On Sun, Oct 03, 2004 at 07:21:12PM -0400, Stas Bekman wrote:
modperl-2.0 'make test' running under worker mpm (linux) always fails in
t/filter/both_str_req_add.t and dumps core:
[...]
I get the same trace as you then with worker. That's so much easier!!!
Before that I had no clue where to even start looking. Thanks Joe!
[...]
#12 0x0000002a972d3550 in Perl_load_module (my_perl=0x2325090, flags=2536470192,
name=0x40000, ver=0x55) at op.c:3514
#13 0x0000002a97153d72 in modperl_coderef2text (my_perl=0x2325090, p=0x25a3578,
cv=0xc6d120) at modperl_util.c:715
It's probably the same, it tries to load B::Deparse. I've recently added a
few tests which were exercising that feature (there was a bug earlier in
it). See t/hooks/TestHooks/inlined_handlers.pm if you remove that test,
the problem disappears?
It definetely seems like a bug caused somewhere deep within perl when we
try to load B::Deparse, I've experienced the same segfault than all of you.
But, I tried with this small patch (trying to make sure we are not loading
B::Deparse when it's already there and loading it with no flags), and I
still get a core, but a slightly differnt trace.
Index: src/modules/perl/modperl_util.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.c,v
retrieving revision 1.83
diff -u -I$Id -r1.83 modperl_util.c
--- src/modules/perl/modperl_util.c 16 Sep 2004 16:36:29 -0000 1.83
+++ src/modules/perl/modperl_util.c 5 Oct 2004 19:21:24 -0000
@@ -712,10 +712,11 @@
* notice that B::Deparse is not CPAN-updatable.
* 0.61 is available starting from 5.8.0
*/
- Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT,
- newSVpvn("B::Deparse", 10),
- newSVnv(SvOBJECT((SV*)cv) ? 0.61 : 0.60));
-
+ if (!modperl_perl_module_loaded(aTHX_ "B::Deparse")) {
+ Perl_load_module(aTHX_ 0,
+ newSVpvn("B::Deparse", 10),
+ Nullsv);
+ }
ENTER;
SAVETMPS;
#0 0x005d07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00614266 in kill () from /lib/tls/libc.so.6
#2 0x080781b5 in sig_coredump (sig=11) at mpm_common.c:955
#3 <signal handler called>
#4 0x0028a28f in Perl_ck_svconst (my_perl=0xab53178, o=0xba2cdc8) at op.c:6310
#5 0x0027ea0d in Perl_newSVOP (my_perl=0xab53178, type=5, flags=0, sv=0xffffffff) at
op.c:2849
#6 0x0027f69e in Perl_vload_module (my_perl=0xab53178, flags=0, name=0xb9e3b34,
ver=0x0, args=0xf59613e0) at op.c:3085
#7 0x0027f52c in Perl_load_module (my_perl=0xab53178, flags=0, name=0xb9e3b34,
ver=0x0) at op.c:3046
#8 0x001fe10c in modperl_coderef2text (my_perl=0xab53178, p=0xb92ca38, cv=0x9f50a80)
at modperl_util.c:716
#9 0x001fa5a3 in modperl_handler_new_anon (my_perl=0xab53178, p=0xb92ca38,
cv=0x9f50a80) at modperl_handler.c:76
#10 0x001fb2e2 in modperl_handler_new_from_sv (my_perl=0xab53178, p=0xb92ca38,
sv=0x9f50a80) at modperl_handler.c:409
#11 0x00202e07 in modperl_filter_runtime_add (my_perl=0xab53178, r=0xb92ca70, c=0xb8b4a70,
name=0x56a2b7 "MODPERL_REQUEST_OUTPUT",
mode=MP_OUTPUT_FILTER_MODE, addfunc=0x8078d45 <ap_add_output_filter>, callback=0xb9f0d7c,
type=0x56a2aa "OutputFilter")
at modperl_filter.c:1157
#12 0x005663b8 in mpxs_Apache__RequestRec_add_output_filter (my_perl=0xab53178,
r=0xb92ca70, callback=0xb9f0d7c)
at Apache__Filter.h:244
#13 0x005689db in XS_Apache__RequestRec_add_output_filter (my_perl=0xab53178,
cv=0xa4f1380) at Filter.xs:186
Then I also get _this_ core (reliably) from running t/hooks/push_handlers:
#0 0x005d07a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00614266 in kill () from /lib/tls/libc.so.6
#2 0x080781b5 in sig_coredump (sig=11) at mpm_common.c:955
#3 <signal handler called>
#4 0x0027c297 in Perl_ck_svconst (my_perl=0xa170a60, o=0x9d00308) at op.c:6310
#5 0x00270a0d in Perl_newSVOP (my_perl=0xa170a60, type=5, flags=0, sv=0x64e1b1) at
op.c:2849
#6 0x0027169e in Perl_vload_module (my_perl=0xa170a60, flags=0, name=0xa5659c8,
ver=0x0, args=0xf59a33b0) at op.c:3085
#7 0x0027152c in Perl_load_module (my_perl=0xa170a60, flags=0, name=0xa5659c8,
ver=0x0) at op.c:3046
#8 0x00aa110c in modperl_coderef2text (my_perl=0xa170a60, p=0xb249150, cv=0xb252638)
at modperl_util.c:716
#9 0x00a9d5a3 in modperl_handler_new_anon (my_perl=0xa170a60, p=0xb249150,
cv=0xb252638) at modperl_handler.c:76
#10 0x00a9e2e2 in modperl_handler_new_from_sv (my_perl=0xa170a60, p=0xb249150,
sv=0xb252638) at modperl_handler.c:409
#11 0x00a9e38f in modperl_handler_push_handlers (my_perl=0xa170a60, p=0xb249150,
handlers=0xb24e218, sv=0xa5659bc)
at modperl_handler.c:425
#12 0x00a9e74d in modperl_handler_perl_add_handlers (my_perl=0xa170a60, r=0xb249188,
c=0x0, s=0x9423e48, p=0xb249150,
name=0x9872be0 "PerlResponseHandler", sv=0xa5659bc, action=MP_HANDLER_ACTION_PUSH)
at modperl_handler.c:525
#13 0x00540cbf in mpxs_Apache__RequestRec_push_handlers (my_perl=0xa170a60, r=0xb249188,
name=0x9872be0 "PerlResponseHandler",
sv=0xa5659bc) at Apache__RequestUtil.h:21
--
--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]