David Dyck <david.dyck@fluke.com> wrote: :On Sun, 2 Mar 2003 at 14:32 +0100, Andreas J. Koenig <andreas.koenig@anima....: :> >>>>> On Sun, 2 Mar 2003 00:22:30 -0800 (PST), David Dyck <david.dyck@fluke.com> said: :> :> > Here's a smaller script that assume that Inline::C has :> > been installed and passes its test with perl 5.8.0, but :> > fails with todays 5.8.1. :> :> The infinite loop with your example program started with patch 18533 :> on the trunk. : :If I apply patch 18533 in reverse to regexec.c, then the infinite loop :goes away. Of course, that breaks the test case that was added :to t/op/subst.t! (I've only included the regexec.c portion :of patch 18533) : :Change 18533 by hv@hv-crypt.org on 2003/01/21 02:15:29 I spent some time on this tonight without getting very far. It would help a lot to remove some of the module dependencies in the script, but I had no luck trying even to get past Inline itself - I think if the test case could be reduced to use just RecDescent and Text::Balanced it'd probably be quite straightforward to track down from there. The simplest I had with Inline was: BEGIN { require Inline; Inline->import(qw/ Config DIRECTORY _Inline_test /); Inline->import('C', 'void true() { }'); Inline->import('C', 'void true2() { }'); } .. and I'm guessing that it is Inline itself that is requiring the BEGIN; I don't know whether it is also intrinsic to the bug. I probably won't have much time to look further into this for the next few days. HugoThread Previous | Thread Next