Created
March 30, 2018 15:45
-
-
Save dogbert17/41425fc51b491daa286f54eac9d42d1a to your computer and use it in GitHub Desktop.
Panic when running t/spec/S32-exceptions/misc.t under stress, i.e. small nursery
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
./perl6-gdb-m t/spec/S32-exceptions/misc.rakudo.moar | |
... | |
(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/spec/S32-exceptions/misc.rakudo.moar | |
[Thread debugging using libthread_db enabled] | |
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". | |
[New Thread 0x7ffff6768700 (LWP 6747)] | |
1..450 | |
1..3 | |
ok 1 - '42 +' died | |
ok 2 - right exception type (Exception) | |
... | |
ok 208 - did we throws-like X::Str::Trans::InvalidArg? | |
1..4 | |
[Switching to Thread 0x7ffff6768700 (LWP 6747)] | |
Thread 2 "moar" hit Breakpoint 1, MVM_panic (exitCode=exitCode@entry=1, messageFormat=messageFormat@entry=0x7ffff77840a0 "Must not GC when in the specializer/JIT\n") at src/core/exceptions.c:827 | |
827 void MVM_panic(MVMint32 exitCode, const char *messageFormat, ...) { | |
(gdb) bt | |
#0 MVM_panic (exitCode=exitCode@entry=1, messageFormat=messageFormat@entry=0x7ffff77840a0 "Must not GC when in the specializer/JIT\n") at src/core/exceptions.c:827 | |
#1 0x00007ffff7670adb in run_gc (tc=tc@entry=0x68e0a0, what_to_do=what_to_do@entry=1 '\001') at src/gc/orchestrate.c:388 | |
#2 0x00007ffff7670c57 in MVM_gc_enter_from_interrupt (tc=tc@entry=0x68e0a0) at src/gc/orchestrate.c:611 | |
#3 0x00007ffff7670f0b in MVM_gc_mark_thread_blocked (tc=tc@entry=0x68e0a0) at src/gc/orchestrate.c:290 | |
#4 0x00007ffff76b1569 in MVM_reentrantmutex_lock (tc=tc@entry=0x68e0a0, rm=<optimized out>) at src/6model/reprs/ReentrantMutex.c:136 | |
#5 0x00007ffff76c6f49 in MVM_serialization_demand_object (tc=tc@entry=0x68e0a0, sc=<optimized out>, idx=4) at src/6model/serialization.c:2743 | |
#6 0x00007ffff76c1cd8 in MVM_sc_get_object (tc=tc@entry=0x68e0a0, sc=<optimized out>, idx=idx@entry=4) at src/6model/sc.c:193 | |
#7 0x00007ffff76e47b1 in fix_wval (inlinee=0x7ffff04bee60, to_fix=0x7ffff07cf618, to_fix=0x7ffff07cf618, inliner=0x7ffff1851cd0, tc=0x7ffff07cfc88) at src/spesh/inline.c:227 | |
#8 merge_graph (tc=tc@entry=0x68e0a0, inliner=inliner@entry=0x7ffff1851cd0, inlinee=inlinee@entry=0x7ffff04bee60, inlinee_sf=inlinee_sf@entry=0x12293c8, invoke_bb=invoke_bb@entry=0x7ffff071bfc8, | |
invoke_ins=invoke_ins@entry=0x7ffff07182f8, code_ref_reg=..., inline_boundary_handler=<optimized out>) at src/spesh/inline.c:429 | |
#9 0x00007ffff76e50a9 in MVM_spesh_inline (tc=tc@entry=0x68e0a0, inliner=inliner@entry=0x7ffff1851cd0, call_info=call_info@entry=0x7ffff6767990, invoke_bb=invoke_bb@entry=0x7ffff071bfc8, | |
invoke_ins=invoke_ins@entry=0x7ffff07182f8, inlinee=inlinee@entry=0x7ffff04bee60, inlinee_sf=0x12293c8, code_ref_reg=...) at src/spesh/inline.c:943 | |
#10 0x00007ffff76de67e in optimize_call (tc=tc@entry=0x68e0a0, g=g@entry=0x7ffff1851cd0, bb=bb@entry=0x7ffff071bfc8, ins=ins@entry=0x7ffff07182f8, p=p@entry=0x7ffff07c4e50, callee_idx=callee_idx@entry=1, | |
arg_info=0x7ffff6767990) at src/spesh/optimize.c:1715 | |
#11 0x00007ffff76df90e in optimize_bb_switch (tc=tc@entry=0x68e0a0, g=g@entry=0x7ffff1851cd0, bb=bb@entry=0x7ffff071bfc8, p=p@entry=0x7ffff07c4e50) at src/spesh/optimize.c:2129 | |
#12 0x00007ffff76e0e53 in optimize_bb (p=0x7ffff07c4e50, bb=0x7ffff071bfc8, g=0x7ffff1851cd0, tc=0x68e0a0) at src/spesh/optimize.c:2327 | |
#13 optimize_bb (p=0x7ffff07c4e50, bb=0x7ffff071b848, g=0x7ffff1851cd0, tc=0x68e0a0) at src/spesh/optimize.c:2331 | |
#14 optimize_bb (p=0x7ffff07c4e50, bb=0x7ffff071b668, g=0x7ffff1851cd0, tc=0x68e0a0) at src/spesh/optimize.c:2331 | |
#15 optimize_bb (tc=0x68e0a0, g=0x7ffff1851cd0, bb=0x7ffff071b428, p=0x7ffff07c4e50) at src/spesh/optimize.c:2331 | |
#16 0x00007ffff76e11f2 in optimize_bb (p=0x7ffff07c4e50, bb=0x7ffff071ab88, g=0x7ffff1851cd0, tc=0x68e0a0) at src/spesh/optimize.c:2331 | |
#17 MVM_spesh_optimize (tc=tc@entry=0x68e0a0, g=g@entry=0x7ffff1851cd0, p=p@entry=0x7ffff07c4e50) at src/spesh/optimize.c:2579 | |
#18 0x00007ffff76d81cd in MVM_spesh_candidate_add (tc=tc@entry=0x68e0a0, p=0x7ffff07c4e50) at src/spesh/candidate.c:62 | |
#19 0x00007ffff76e68e5 in worker (tc=0x68e0a0, callsite=<optimized out>, args=<optimized out>) at src/spesh/worker.c:16 | |
#20 0x00007ffff7655b51 in thread_initial_invoke (tc=0x68e0a0, data=<optimized out>) at src/core/threads.c:59 | |
#21 0x00007ffff762ec8e in MVM_interp_run (tc=0x1, tc@entry=0x68e0a0, initial_invoke=0x0, invoke_data=0x604098, invoke_data@entry=0x69f800) at src/core/interp.c:93 | |
#22 0x00007ffff7655bd6 in start_thread (data=0x69f800) at src/core/threads.c:87 | |
#23 0x00007ffff6b7c6ba in start_thread (arg=0x7ffff6768700) at pthread_create.c:333 | |
#24 0x00007ffff71a241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 | |
(gdb) info threads | |
Id Target Id Frame | |
1 Thread 0x7ffff7fd9700 (LWP 6746) "moar" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 | |
* 2 Thread 0x7ffff6768700 (LWP 6747) "moar" MVM_panic (exitCode=exitCode@entry=1, messageFormat=messageFormat@entry=0x7ffff77840a0 "Must not GC when in the specializer/JIT\n") at src/core/exceptions.c:827 | |
(gdb) f 1 | |
#1 0x00007ffff7670adb in run_gc (tc=tc@entry=0x68e0a0, what_to_do=what_to_do@entry=1 '\001') at src/gc/orchestrate.c:388 | |
388 MVM_panic(1, "Must not GC when in the specializer/JIT\n"); | |
(gdb) l | |
383 | |
384 unsigned int interval_id; | |
385 | |
386 #if MVM_GC_DEBUG | |
387 if (tc->in_spesh) | |
388 MVM_panic(1, "Must not GC when in the specializer/JIT\n"); | |
389 #endif | |
390 | |
391 /* Decide nursery or full collection. */ | |
392 gen = tc->instance->gc_full_collect ? MVMGCGenerations_Both : MVMGCGenerations_Nursery; | |
(gdb) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment