# New Ticket Created by  Peter du Marchie van Voorthuysen 
# Please include the string:  [perl #131372]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131372 >


This is Rakudo version 2017.04.3 built on MoarVM version 2017.04-53-g66c6dda
implementing Perl 6.c.

The eqv implementation hangs when executing the following code:

    my $a = [];
    $a[0] = $a;

    my $b = [];
    $b[0] = $b;

    $a eqv $b;

In the REPL a Ctrl-C won't terminate the evaluation. At first the memory
footprint of the moar process grows quickly, but over time the pace of
growth decreases while the CPU is kept busy.

It may be interesting to note that the eqv implementation does not hang
when the index of the recursive element in the two arrays is different. For
example, the following code just evaluates to True:

    my $a = [];
    my $b = [];

    $a[0,1] = ($a, $b);
    $b[0,1] = ($a, $b);

    $a eqv $b;

while this hangs just like the simple example:

    my $a = [];
    my $b = [];

    $a[0,1] = ($a, $b);
    $b[0,1] = ($b, $a);

    $a eqv $b;

Reply via email to