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

Re: Inline::C seems to hang during make test in 5.8.1 vs. [perl #17757]

From:
hv
Date:
March 2, 2003 22:00
Subject:
Re: Inline::C seems to hang during make test in 5.8.1 vs. [perl #17757]
Message ID:
200303030602.h2362S511224@crypt.compulink.co.uk
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.

Hugo



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