You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I can get a Bus error reliably when running the following program on a raspberry pi 3 and rakudo/moar checkout from today (I got this the first time on the 2017.09 release of rakudo, 2017.08 didn't have it).
Three files:
main.p6
#!/usr/bin/env perl6
use lib '.';
use Bar;
Bar.pm6
unit module Bar;
use NativeCall;
sub a() returns int32 is native('foo') {*}
at gen/moar/stage2/QASTNode.nqp:904 (/home/pi/repos/rakudo/install/share/nqp/lib/QASTNode.moarvm:cuid)
from src/Perl6/World.nqp:2228 (/home/pi/repos/rakudo/install/share/nqp/lib/Perl6/World.moarvm:finish_code_object)
from gen/moar/Perl6-Actions.nqp:916 (/home/pi/repos/rakudo/install/share/nqp/lib/Perl6/Actions.moarvm:comp_unit)
from gen/moar/stage2/QRegex.nqp:1683 (/home/pi/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!reduce)
from gen/moar/stage2/QRegex.nqp:1629 (/home/pi/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!cursor_pass)
from src/Perl6/Grammar.nqp:1243 (/home/pi/repos/rakudo/install/share/nqp/lib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:531 (/home/pi/repos/rakudo/install/share/nqp/lib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330 (/home/pi/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1886 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1802 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1835 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1838 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1824 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1524 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1779 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1671 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (/home/pi/repos/rakudo/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1630 (/home/pi/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/pi/repos/rakudo/install/share/perl6/runtime/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/pi/repos/rakudo/install/share/perl6/runtime/perl6.moarvm:<mainline>)
from <unknown>:1 (/home/pi/repos/rakudo/install/share/perl6/runtime/perl6.moarvm:<main>)
from <unknown>:1 (/home/pi/repos/rakudo/install/share/perl6/runtime/perl6.moarvm:<entry>)
gen/moar/stage2/QASTNode.nqp
my $cur_cuid := 0;
method cuid($value = NO_VALUE) {
if !($value =:= NO_VALUE) {
# Set ID if we are provided one.
$!cuid := $value;
}
elsif $!cuid {
# If we already have an ID, return it.
$!cuid
}
else {
# Otherwise, generate one.
$cur_cuid := $cur_cuid + 1;
$!cuid := ~$cur_cuid; ########## This is line 904
}
}
my %NOSYMS := nqp::hash();
method symbol(str $name, *%attrs) {
%!symbol := nqp::hash() if nqp::isnull(%!symbol);
if %attrs {
my %syms
The text was updated successfully, but these errors were encountered:
Just a quick note: The piece of code is actually a golf of a much larger code base. I found no way to circumvent the error (as I use multiple files and nativecall, the two ingredients to make this blow up). So currently I am locked to 2017.08 in my software.
I just tried this again on the 2020.01 release and I can't reproduce the problem.
My first guess would be that the work on Raku/nqp#431 also fixed this bug, but I didn't bisect to make sure.
I can get a
Bus error
reliably when running the following program on a raspberry pi 3 and rakudo/moar checkout from today (I got this the first time on the 2017.09 release of rakudo, 2017.08 didn't have it).Three files:
main.p6
Bar.pm6
foo.c
call MVM_dump_backtrace(tc)
gen/moar/stage2/QASTNode.nqp
The text was updated successfully, but these errors were encountered: