From: Tim Bunce Date: Mon, 15 Jul 2002 12:14:54 +0000 (+0100) Subject: Re: Core dump in perl_clone (even with 'use threads;' first) [PATCH] X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1d773130c7c6730a3a532a4ea9cf508b11194094;p=p5sagit%2Fp5-mst-13.2.git Re: Core dump in perl_clone (even with 'use threads;' first) [PATCH] Message-ID: <20020715121454.F20682@dansat.data-plan.com> p4raw-id: //depot/perl@17546 --- diff --git a/sv.c b/sv.c index dd44025..11b53d9 100644 --- a/sv.c +++ b/sv.c @@ -10154,6 +10154,11 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, Copy(proto_perl->Inexttype, PL_nexttype, 5, I32); PL_nexttoke = proto_perl->Inexttoke; + /* XXX This is probably masking the deeper issue of why + * SvANY(proto_perl->Ilinestr) can be NULL at this point. For test case: + * http://archive.develooper.com/perl5-porters%40perl.org/msg83298.html + * (A little debugging with a watchpoint on it may help.) + */ if (SvANY(proto_perl->Ilinestr)) { PL_linestr = sv_dup_inc(proto_perl->Ilinestr, param); i = proto_perl->Ibufptr - SvPVX(proto_perl->Ilinestr); @@ -10192,6 +10197,7 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, PL_padix_floor = proto_perl->Ipadix_floor; PL_pad_reset_pending = proto_perl->Ipad_reset_pending; + /* XXX See comment on SvANY(proto_perl->Ilinestr) above */ if (SvANY(proto_perl->Ilinestr)) { i = proto_perl->Ilast_uni - SvPVX(proto_perl->Ilinestr); PL_last_uni = SvPVX(PL_linestr) + (i < 0 ? 0 : i);