Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created December 26, 2017 19:16
Show Gist options
  • Save dogbert17/69e3836102aca1a081b204080edc507b to your computer and use it in GitHub Desktop.
Save dogbert17/69e3836102aca1a081b204080edc507b to your computer and use it in GitHub Desktop.
MoarVM Panic when running t/04-nativecall/11-cpp.t with a small nursery
(gdb) r
Starting program: /home/dilbert/repos/rakudo/install/bin/moar --execname=./perl6-gdb-m --libpath=. --libpath=blib --libpath=/home/dilbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dilbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dilbert/repos/rakudo/install/share/nqp/lib /home/dilbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/04-nativecall/11-cpp.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff6773700 (LWP 30811)]
Thread 1 "moar" hit Breakpoint 1, MVM_panic (exitCode=1, messageFormat=0x7ffff77ee068 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:820
820 void MVM_panic(MVMint32 exitCode, const char *messageFormat, ...) {
(gdb) bt
#0 MVM_panic (exitCode=1, messageFormat=0x7ffff77ee068 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:820
#1 0x00007ffff7705ead in gc_mark_repr_data (tc=0x6049f0, st=0x33d5e98, worklist=0x46ed540) at src/6model/reprs/CPPStruct.c:633
#2 0x00007ffff76a8779 in MVM_gc_mark_collectable (tc=0x6049f0, worklist=0x46ed540, new_addr=0x33d5e98) at src/gc/collect.c:409
#3 0x00007ffff76a3abd in MVM_gc_root_add_gen2s_to_worklist (tc=0x6049f0, worklist=0x46ed540) at src/gc/roots.c:302
#4 0x00007ffff76a5e40 in MVM_gc_collect (tc=0x6049f0, what_to_do=0 '\000', gen=0 '\000') at src/gc/collect.c:155
#5 0x00007ffff769db74 in run_gc (tc=0x6049f0, what_to_do=0 '\000') at src/gc/orchestrate.c:369
#6 0x00007ffff769dfde in MVM_gc_enter_from_allocator (tc=0x6049f0) at src/gc/orchestrate.c:486
#7 0x00007ffff769e4a9 in MVM_gc_allocate_nursery (tc=0x6049f0, size=112) at src/gc/allocation.c:32
#8 0x00007ffff769e3ac in MVM_gc_allocate (tc=0x6049f0, size=112) at src/gc/allocation.h:13
#9 0x00007ffff769e529 in MVM_gc_allocate_zeroed (tc=0x6049f0, size=112) at src/gc/allocation.c:49
#10 0x00007ffff769e854 in MVM_gc_allocate_object (tc=0x6049f0, st=0x64c028) at src/gc/allocation.c:86
#11 0x00007ffff76d55c5 in allocate (tc=0x6049f0, st=0x64c028) at src/6model/reprs/P6opaque.c:60
#12 0x00007ffff764209d in MVM_interp_run (tc=0x6049f0, initial_invoke=0x7ffff7789df1 <toplevel_initial_invoke>, invoke_data=0x66cd90) at src/core/interp.c:1842
#13 0x00007ffff7789f56 in MVM_vm_run_file (instance=0x604010, filename=0x7fffffffe2bf "/home/dilbert/repos/rakudo/perl6.moarvm") at src/moar.c:401
#14 0x0000000000401459 in main (argc=10, argv=0x7fffffffde08) at src/main.c:256
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff7fd7700 (LWP 30807) "moar" MVM_panic (exitCode=1, messageFormat=0x7ffff77ee068 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:820
2 Thread 0x7ffff6773700 (LWP 30811) "moar" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
(gdb) f 1
#1 0x00007ffff7705ead in gc_mark_repr_data (tc=0x6049f0, st=0x33d5e98, worklist=0x46ed540) at src/6model/reprs/CPPStruct.c:633
633 MVM_gc_worklist_add(tc, worklist, &map[i].name_map);
(gdb) p MVM_dump_backtrace(tc)
at gen/moar/stage2/QASTNode.nqp:565 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QASTNode.moarvm:new)
from src/Perl6/World.nqp:2565 (blib/Perl6/World.moarvm:compile_in_context)
from src/Perl6/World.nqp:2247 (blib/Perl6/World.moarvm:)
from src/Perl6/World.nqp:2262 (blib/Perl6/World.moarvm:)
from gen/moar/Perl6-Actions.nqp:5448 (blib/Perl6/Actions.moarvm:trait_mod:sym<is>)
from <unknown>:1 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!cursor_pass)
from src/Perl6/Grammar.nqp:3360 (blib/Perl6/Grammar.moarvm:trait_mod:sym<is>)
from gen/moar/stage2/QRegex.nqp:1721 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:trait_mod)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:trait)
from src/Perl6/Grammar.nqp:2795 (blib/Perl6/Grammar.moarvm:routine_def)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:routine_declarator:sym<sub>)
from gen/moar/stage2/QRegex.nqp:1721 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:routine_declarator)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:term:sym<routine_declarator>)
from gen/moar/stage2/QRegex.nqp:1721 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex)
from <unknown>:1 (blib/Perl6/Grammar.moarvm:term)
from src/Perl6/Grammar.nqp:4011 (blib/Perl6/Grammar.moarvm:termish)
from gen/moar/stage2/NQPHLL.nqp:888 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR)
from src/Perl6/Grammar.nqp:4051 (blib/Perl6/Grammar.moarvm:EXPR)
from src/Perl6/Grammar.nqp:1333 (blib/Perl6/Grammar.moarvm:statement)
from src/Perl6/Grammar.nqp:1265 (blib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/stage2/NQPHLL.nqp:1118 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG)
from src/Perl6/Grammar.nqp:1699 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG)
from src/Perl6/Grammar.nqp:1229 (blib/Perl6/Grammar.moarvm:comp_unit)
from src/Perl6/Grammar.nqp:531 (blib/Perl6/Grammar.moarvm:TOP)
from gen/moar/stage2/QRegex.nqp:2330 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1886 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse)
from gen/moar/stage2/NQPHLL.nqp:1802 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
from gen/moar/stage2/NQPHLL.nqp:1835 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run)
from gen/moar/stage2/NQPHLL.nqp:1838 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:1824 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile)
from gen/moar/stage2/NQPHLL.nqp:1524 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1779 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1671 (/home/dilbert/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:1630 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/dilbert/repos/rakudo/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/dilbert/repos/rakudo/perl6.moarvm:<mainline>)
from <unknown>:1 (/home/dilbert/repos/rakudo/perl6.moarvm:<main>)
from <unknown>:1 (/home/dilbert/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