Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created September 26, 2017 19:47
Show Gist options
  • Select an option

  • Save dogbert17/696587a80b74dae8a3410f9e9f01447e to your computer and use it in GitHub Desktop.

Select an option

Save dogbert17/696587a80b74dae8a3410f9e9f01447e to your computer and use it in GitHub Desktop.
MoarVM Panic when running t/spec/S14-roles/mixin.t with a small , 32768 * 8, nursery
(gdb) r
Starting program: /home/dogbert/repos/rakudo/install/bin/moar --execname=./perl6-gdb-m --libpath=. --libpath=blib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/spec/S14-roles/mixin.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb77d6b40 (LWP 21012)]
WARNINGS for /home/dogbert/repos/rakudo/t/spec/S14-roles/mixin.t:
Useless use of constant integer 1 in sink context (line 128)
1..53
ok 1 - method from a role can be mixed in
ok 2 - .? form of call works on a mixed-in role
ok 3 - .+ form of call works on a mixed-in role
ok 4 - .* form of call works on a mixed-in role
ok 5 - initialization sanity check
ok 6 - method from role was mixed in
ok 7 - mixing in did not destroy old value
ok 8 - mixing in with attributes did not destroy existing ones
ok 9 - mixed in new attributes
ok 10 - multi-role mixin preserved existing values
ok 11 - attribute from multi-role mixing OK
ok 12 - method from other role was OK too
ok 13 - role mix-in with initialization value worked
ok 14 - mixing into Int still makes it function as an Int
ok 15 - mixining in two roles one after the other
ok 16 - mixining in two roles one after the other
ok 17 - mixing in a role at the point of declaration works
ok 18 - mixing in at point of declaration at compile time
ok 19 - "does role(param)" does not work without attribute
ok 20 - "does role(param)" does work with one attribute
ok 21 - "does role(param)" does not work with two attributes
ok 22 - can mix R4b into an Array, and access the attribute
ok 23 - mixin with "does" lists method during introspection
ok 24 - can mix into a Rat
1..4
ok 1 - code dies
ok 2 - right exception type (X::Syntax::Variable::Twigil)
ok 3 - .twigil matches !
ok 4 - .scope matches my
ok 25 - RT \#77184
ok 26 - RT \#100782 1/2
ok 27 - RT \#100782 2/2
Breakpoint 1, MVM_panic (exitCode=1, messageFormat=0xb7cb8c4c "Collectable %p in fromspace accessed") at src/core/exceptions.c:688
688 fprintf(stderr, "MoarVM panic: ");
(gdb) bt
#0 MVM_panic (exitCode=1, messageFormat=0xb7cb8c4c "Collectable %p in fromspace accessed") at src/core/exceptions.c:688
#1 0xb7be643a in push (tc=0x804c5b8, st=0x8078988, root=0xb7842108, data=0xb7842118, value=..., kind=8) at src/6model/reprs/VMArray.c:472
#2 0xb7bdf85e in MVM_repr_push_o (tc=0x804c5b8, obj=0xb7842108, pushee=0xb6ccfc30) at src/6model/reprconv.c:342
#3 0xb7be39f1 in finish_parameterizing (tc=0x804c5b8, sr_data=0x857b158) at src/6model/parametric.c:63
#4 0xb7b9d39f in remove_one_frame (tc=0x804c5b8, unwind=0 '\000') at src/core/frame.c:818
#5 0xb7b9d677 in MVM_frame_try_return (tc=0x804c5b8) at src/core/frame.c:889
#6 0xb7b633eb in MVM_interp_run (tc=0x804c5b8, initial_invoke=0xb7c88e8e <toplevel_initial_invoke>, invoke_data=0x80bb768) at src/core/interp.c:486
#7 0xb7c88fed in MVM_vm_run_file (instance=0x804c008, filename=0xbffff296 "/home/dogbert/repos/rakudo/perl6.moarvm") at src/moar.c:387
#8 0x08048d99 in main (argc=10, argv=0xbfffef94) at src/main.c:255
(gdb) f 1
#1 0xb7be643a in push (tc=0x804c5b8, st=0x8078988, root=0xb7842108, data=0xb7842118, value=..., kind=8) at src/6model/reprs/VMArray.c:472
472 MVM_ASSIGN_REF(tc, &(root->header), body->slots.o[body->start + body->elems - 1], value.o);
(gdb) p MVM_dump_backtrace(tc)
at gen/moar/Metamodel.nqp:1291 (blib/Perl6/Metamodel.moarvm:mixin)
from SETTING::src/core/operators.pm:91 (./CORE.setting.moarvm:infix:<but>)
from <unknown>:1 (<ephemeral file>:)
from t/spec/S14-roles/mixin.t:125 (<ephemeral file>:)
from t/spec/S14-roles/mixin.t:123 (<ephemeral file>:<unit>)
from t/spec/S14-roles/mixin.t:1 (<ephemeral file>:<unit-outer>)
from gen/moar/stage2/NQPHLL.nqp:1529 (/home/dogbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1757 (/home/dogbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1649 (/home/dogbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1617 (/home/dogbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/dogbert/repos/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/dogbert/repos/rakudo/perl6.moarvm:<mainline>)
from <unknown>:1 (/home/dogbert/repos/rakudo/perl6.moarvm:<main>)
from <unknown>:1 (/home/dogbert/repos/rakudo/perl6.moarvm:<entry>)
$1 = void
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment