RAKUDO_SCHEDULER_DEBUG=1 perl6-gdb-m --ll-exception -e 'while 1 { use
v6.d.PREVIEW; my %c = (:0reactor_count); my $s = supply { whenever
IO::Socket::Async.listen("0.0.0.0", 5000) -> $c-conn { %c{$c-conn}<bar>++; emit
$c-conn; %c{$c-conn}<msgs-supplier> = Supplier.new; $c-conn.Supply.lines.tap({
%c{$c-conn}<msgs-supplier>.emit: $_ }); } }; sub start_reactor ($msgs-in) {
start { react whenever $msgs-in -> $msg-in { say "before"; say QX("echo foo");
say "after"; %c<reactor_count>++; } } }; start { react whenever $s -> $c-conn {
start { start_reactor(%c{$c-conn}<msgs-supplier>.Supply); } } }; sleep 1; my $c
= await IO::Socket::Async.connect("0.0.0.0", 5000); await $c.print("foo\n");
sleep 1; }'
Eventually prints out (for me):
Unhandled exception in code scheduled on thread 4
Too few positionals passed; expected 6 arguments but got 2
in block at SETTING::src/core/IO/Socket/Async.pm line 151
in block at SETTING::src/core/ThreadPoolScheduler.pm line 225
in block at SETTING::src/core/ThreadPoolScheduler.pm line 224
in method run-one at SETTING::src/core/ThreadPoolScheduler.pm line 224
in method dispatch:<!> at SETTING::src/core/Mu.pm line 732
in block at SETTING::src/core/ThreadPoolScheduler.pm line 258