> On 6 Sep 2017, at 22:46, J . David Lowe (via RT) > <perl6-bugs-follo...@perl.org> wrote: > > # New Ticket Created by J . David Lowe > # Please include the string: [perl #132042] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=132042 > > > > This short program hangs indefinitely on my system (after making progress.) > Tuning the number of threads and number of iterations can change how reliably > it hangs (down to 'never' when the number of threads is < 3, for me.) > > ``` > #!/usr/bin/env perl6 > > use v6.c; > > await (^6).map: -> $t { > start { > for (^500) -> $i { > my $current = %( 1 => %( 2 => %( 3 => %() ) ) ); > my $index = 1; > while $current{$index}:exists { > say "$t $i $index"; > $current = $current{$index}; > ++$index; > } > } > } > } > ``` > > ... this is a distilled version of some tree-walking code that's misbehaving > for me IRL. It's possible that I'm doing something naughty here, but I don't > see how. Am I missing something? (I can eliminate the deadlock by > Lock.protect-ing the inner while loop, FWIW... but I don't see why that > should be necessary.) > > More information: > > ``` > $ perl6 --version > This is Rakudo version 2017.07 built on MoarVM version 2017.07 > implementing Perl 6.c. > ```
Could you try if this is still the case in 2017.08? And possibly the latest development version? Also, could you try and see if “use 6.d.PREVIEW” makes a difference?