FWIW, I can’t get this to break on 2017.05. Please note that a *LOT* of concurrency fixes landed after 2016.04. I suggest you use a more current version, preferably 2017.05. Unless this problem can be confirmed on a more recent Rakudo version, I suggest this ticket can be closed.
> On 25 May 2017, at 17:01, Sverre Eldøy (via RT) > <perl6-bugs-follo...@perl.org> wrote: > > # New Ticket Created by Sverre Eldøy > # Please include the string: [perl #131364] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=131364 > > > > Hi! > > I was just playing around with the concurrent quicksort thing that Damien > made.. It's neat.. But problem is: It crashes in different ways each time... > Here's a couple of examples: > > Run1: > Illegal instruction: 4 > > Run2: > Use of uninitialized value of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed.Use of uninitialized value of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in whatevercode at ./quicksort_concurrent.p6 line 10 > Use of uninitialized value <element> of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed.Use of uninitialized value <element> of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in sub quicksort at ./quicksort_concurrent.p6 line 4 > in whatevercode at ./quicksort_concurrent.p6 line 10 > Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed.Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in sub quicksort at ./quicksort_concurrent.p6 line 4 > in whatevercode at ./quicksort_concurrent.p6 line 10 > Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in whatevercode at ./quicksort_concurrent.p6 line 10 > in sub quicksort at ./quicksort_concurrent.p6 line 4 > Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed.Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in whatevercode at ./quicksort_concurrent.p6 line 10 > in sub quicksort at ./quicksort_concurrent.p6 line 4 > Use of uninitialized value $pivot of type Any in string context > Any of .^name, .perl, .gist, or .say can stringify undefined things, if > needed. in sub quicksort at ./quicksort_concurrent.p6 line 4 > This type does not support positional operations > in block <unit> at ./quicksort_concurrent.p6 line 17 > > Run3: > Segmentation fault: 11 > > Run4: > This type does not support positional operations > in block <unit> at ./quicksort_concurrent.p6 line 1 > > > .... The code was just a slightly modified version of the example from > Damien.. And it runs if I take away some numbers.. So I suspect that there is > something weird going on.. Try it on your machines... > > My environment is Mac os x (sierra) running > This is Rakudo version 2016.04 built on MoarVM version 2016.04 > implementing Perl 6.c. > ... as that is what comes with brew these days... Not sure if the same thing > happens on bleeding edge.. > > Here's the code: > #! /usr/bin/env perl6 > use v6; > > multi quicksort( [] ) { () }; > > multi quicksort( [$x] ) { $x }; > > multi quicksort( [$pivot, *@xs] ) { > flat await > start { quicksort @xs.grep: * before $pivot }, > start { $pivot }, > start { quicksort @xs.grep: * !before $pivot }; > } > > say "output = { quicksort > [3,4,2,4,3,6,34589734,7,5,467,675,456,345,345,234,346,457,45,234,12,3123,3,9,8,7,6,7,8,9,8,7,6,7,8,9,8,7,7,6,5,5,5,4,4,4,444,9860,33,3,1,123,234,6,3,5,7,2,4543,2,342,143,234,234,234,4,36,234,324,5,234,457,678,3,1,4,1,5,9,2,6] > }"; > > > > > > > BR, > Sverre