# 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