develooper Front page | perl.perl5.porters | Postings from March 2003

Re: Parse::RecDescent triggers infinete loop in perl5.9.0 and 5.8.1 [perl #17757]

From:
David Dyck
Date:
March 18, 2003 16:58
Subject:
Re: Parse::RecDescent triggers infinete loop in perl5.9.0 and 5.8.1 [perl #17757]
Message ID:
Pine.LNX.4.51.0303181656250.19443@dd.tc.fluke.com
On Wed, 19 Mar 2003 at 02:11 +0200, Enache Adrian <enache@rdslink.ro> wrote:

> The infinite loop happens in re_intuit_start. It always 'goto restart'
> at line 648 in regexec.c.
>
> 	s = fbm_instr( ...
> at line 622 return NULL; which itself isn't that amazing since its
> 'bigend' argument happens to lag behind 'big' ( see util.c:426 )
>
> It's caused by this:
>         /* we may be pointing at the wrong string */
> 	if (s && RX_MATCH_COPIED(prog))
> 	    s = prog->subbeg + (s - SvPVX(sv))
> (regexec.c:546)
>
> Removing those lines stops cures that infinite loop;
> They're there since
> Change 18533 by hv@hv-crypt.org on 2003/01/21 02:15:29
>
>         Subject: Re: [perl #17757] s///g fails when using English & study in 5.8.0
>
> Hoping this helps,
>
> Regards
> Adi


Thank you for looking into this further.

I removed the code you mentioned and it causes some failures in

t/op/subst...........................# Failed at op/subst.t line 517
#      got 'yx'
# expected 'yy'
FAILED at test 126

and

t/op/subst_wamp......................# Failed at ./op/subst.t line 517
#      got 'yx'
# expected 'yy'
FAILED at test 126


I guess this will get worked out before 5.8.1 gets released, right?



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About