Created
March 30, 2018 14:04
-
-
Save dogbert17/34ca177231cd7c73c5c7ba2757f4f23a to your computer and use it in GitHub Desktop.
Panic when running t/04-nativecall/11-cpp.t with GC_DEBUG, small nursery and ASAN
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dilbert@Linux-Mint18 ~/repos/rakudo $ MVM_JIT_DISABLE=1 ASAN_OPTIONS=detect_leaks=0 ./perl6-gdb-m t/04-nativecall/11-cpp.t | |
================================================================================================ | |
This is Rakudo Perl 6 running in the GNU debugger, which often allows the user to generate useful back- | |
traces to debug or report issues in Rakudo, the MoarVM backend or the currently running code. | |
This Rakudo version is 2018.03.134.g.20495.f.0 built on MoarVM version 2018.03.56.g.85.fc.758, | |
running on linuxmint (18.3.Sylvia) / linux (4.10.0.38.generic) | |
Type `bt full` to generate a backtrace if applicable, type `q` to quit or `help` for help. | |
------------------------------------------------------------------------------------------------ | |
Reading symbols from /home/dilbert/repos/rakudo/nqp/MoarVM/../../install/bin/moar...done. | |
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". | |
... | |
(gdb) b MVM_panic | |
Breakpoint 1 at 0x7ffff5ca30fc: file src/core/exceptions.c, line 827. | |
(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 0x7ffff25c0700 (LWP 21299)] | |
Thread 1 "moar" hit Breakpoint 1, MVM_panic (exitCode=1, messageFormat=0x7ffff6122a00 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:827 | |
827 void MVM_panic(MVMint32 exitCode, const char *messageFormat, ...) { | |
(gdb) bt | |
#0 MVM_panic (exitCode=1, messageFormat=0x7ffff6122a00 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:827 | |
#1 0x00007ffff5ebe10a in gc_mark_repr_data (tc=0x61700000fc80, st=0x62f0001144f0, worklist=0x6030005a2980) at src/6model/reprs/CPPStruct.c:633 | |
#2 0x00007ffff5db99f0 in MVM_gc_mark_collectable (tc=0x61700000fc80, worklist=0x6030005a2980, new_addr=0x62f0001144f0) at src/gc/collect.c:408 | |
#3 0x00007ffff5da9f6f in MVM_gc_root_add_gen2s_to_worklist (tc=0x61700000fc80, worklist=0x6030005a2980) at src/gc/roots.c:311 | |
#4 0x00007ffff5db12bb in MVM_gc_collect (tc=0x61700000fc80, what_to_do=0 '\000', gen=0 '\000') at src/gc/collect.c:155 | |
#5 0x00007ffff5d96978 in run_gc (tc=0x61700000fc80, what_to_do=0 '\000') at src/gc/orchestrate.c:407 | |
#6 0x00007ffff5d9740e in MVM_gc_enter_from_allocator (tc=0x61700000fc80) at src/gc/orchestrate.c:524 | |
#7 0x00007ffff5d982f0 in MVM_gc_allocate_nursery (tc=0x61700000fc80, size=32) at src/gc/allocation.c:32 | |
#8 0x00007ffff5d98111 in MVM_gc_allocate (tc=0x61700000fc80, size=32) at src/gc/allocation.h:13 | |
#9 0x00007ffff5d983c4 in MVM_gc_allocate_zeroed (tc=0x61700000fc80, size=32) at src/gc/allocation.c:49 | |
#10 0x00007ffff5d98d0f in MVM_gc_allocate_object (tc=0x61700000fc80, st=0x62f0000007e8) at src/gc/allocation.c:86 | |
#11 0x00007ffff5d4c0d3 in MVM_box_str (tc=0x61700000fc80, value=0x627000062d60, type=0x62300000e178, dst=0x62b0000073c0) at src/core/coerce.c:426 | |
#12 0x00007ffff5cc5dd6 in MVM_interp_run (tc=0x61700000fc80, initial_invoke=0x7ffff6042efe <toplevel_initial_invoke>, invoke_data=0x630000000bc0) at src/core/interp.c:2154 | |
#13 0x00007ffff60432e3 in MVM_vm_run_file (instance=0x61e00000f080, filename=0x7fffffffe2a3 "/home/dilbert/repos/rakudo/perl6.moarvm") at src/moar.c:407 | |
#14 0x0000000000401d8f in main (argc=10, argv=0x7fffffffddf8) at src/main.c:299 | |
(gdb) info threads | |
Id Target Id Frame | |
* 1 Thread 0x7ffff7fd7780 (LWP 21298) "moar" MVM_panic (exitCode=1, messageFormat=0x7ffff6122a00 "Adding pointer %p to past fromspace to GC worklist") at src/core/exceptions.c:827 | |
2 Thread 0x7ffff25c0700 (LWP 21299) "moar" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 | |
(gdb) f 1 | |
#1 0x00007ffff5ebe10a in gc_mark_repr_data (tc=0x61700000fc80, st=0x62f0001144f0, worklist=0x6030005a2980) at src/6model/reprs/CPPStruct.c:633 | |
633 MVM_gc_worklist_add(tc, worklist, &map[i].name_map); | |
(gdb) l | |
628 MVMint32 i; | |
629 if (repr_data->name_to_index_mapping) { | |
630 MVMCPPStructNameMap *map = repr_data->name_to_index_mapping; | |
631 for (i = 0; map[i].class_key; i++) { | |
632 MVM_gc_worklist_add(tc, worklist, &map[i].class_key); | |
633 MVM_gc_worklist_add(tc, worklist, &map[i].name_map); | |
634 } | |
635 } | |
636 | |
637 if (repr_data->flattened_stables) { | |
(gdb) p MVM_dump_backtrace(tc) | |
at gen/moar/stage2/QRegex.nqp:1559 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!cursor_capture) | |
from src/Perl6/Grammar.nqp:2811 (blib/Perl6/Grammar.moarvm:routine_def) | |
from <unknown>:1 (blib/Perl6/Grammar.moarvm:routine_declarator:sym<sub>) | |
from <unknown>:1 (/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 <unknown>:1 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) | |
from <unknown>:1 (blib/Perl6/Grammar.moarvm:term) | |
from src/Perl6/Grammar.nqp:4032 (blib/Perl6/Grammar.moarvm:termish) | |
from gen/moar/stage2/NQPHLL.nqp:931 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR) | |
from src/Perl6/Grammar.nqp:4072 (blib/Perl6/Grammar.moarvm:EXPR) | |
from src/Perl6/Grammar.nqp:1340 (blib/Perl6/Grammar.moarvm:statement) | |
from src/Perl6/Grammar.nqp:1268 (blib/Perl6/Grammar.moarvm:statementlist) | |
from gen/moar/stage2/NQPHLL.nqp:1161 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG) | |
from src/Perl6/Grammar.nqp:1714 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) | |
from src/Perl6/Grammar.nqp:1232 (blib/Perl6/Grammar.moarvm:comp_unit) | |
from src/Perl6/Grammar.nqp:533 (blib/Perl6/Grammar.moarvm:TOP) | |
from gen/moar/stage2/QRegex.nqp:2309 (/home/dilbert/repos/rakudo/install/share/nqp/lib/QRegex.moarvm:parse) | |
from gen/moar/stage2/NQPHLL.nqp:1929 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse) | |
from gen/moar/stage2/NQPHLL.nqp:1845 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) | |
from gen/moar/stage2/NQPHLL.nqp:1878 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run) | |
from gen/moar/stage2/NQPHLL.nqp:1881 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) | |
from gen/moar/stage2/NQPHLL.nqp:1867 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile) | |
from gen/moar/stage2/NQPHLL.nqp:1567 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval) | |
from gen/moar/stage2/NQPHLL.nqp:1822 (/home/dilbert/repos/rakudo/install/share/nqp/lib/NQPHLL.moarvm:evalfiles) | |
from gen/moar/stage2/NQPHLL.nqp:1714 (/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:1673 (/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