Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Last active July 27, 2017 19:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogbert17/8be88015a305ddd31fe1c51d5dbe5b7c to your computer and use it in GitHub Desktop.
Save dogbert17/8be88015a305ddd31fe1c51d5dbe5b7c to your computer and use it in GitHub Desktop.
Don't Panic
(gdb) r
Starting program: /home/dogbert/repos/rakudo/install/bin/moar --execname=./perl6-gdb-m --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 --libpath=. /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/spec/S15-nfg/many-threads.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7836b40 (LWP 11840)]
1..4
[New Thread 0xb56ffb40 (LWP 11841)]
[New Thread 0xb4cffb40 (LWP 11842)]
[New Thread 0xb42ffb40 (LWP 11843)]
[New Thread 0xb38ffb40 (LWP 11844)]
[Switching to Thread 0xb56ffb40 (LWP 11841)]
Breakpoint 1, MVM_panic (exitCode=1, messageFormat=0xb7d1d4f0 "Invalid owner in item added to GC worklist") at src/core/exceptions.c:794
794 fprintf(stderr, "MoarVM panic: ");
(gdb) bt
#0 MVM_panic (exitCode=1, messageFormat=0xb7d1d4f0 "Invalid owner in item added to GC worklist") at src/core/exceptions.c:794
#1 0xb7c2b1ef in MVM_gc_root_add_temps_to_worklist (tc=0x9f098a8, worklist=0xb4da3028, snapshot=0x0) at src/gc/roots.c:245
#2 0xb7c2cf7e in MVM_gc_collect (tc=0x9f098a8, what_to_do=0 '\000', gen=0 '\000') at src/gc/collect.c:117
#3 0xb7c27158 in run_gc (tc=0x9f098a8, what_to_do=0 '\000') at src/gc/orchestrate.c:354
#4 0xb7c2753f in MVM_gc_enter_from_allocator (tc=0x9f098a8) at src/gc/orchestrate.c:466
#5 0xb7c278fd in MVM_gc_allocate_nursery (tc=0x9f098a8, size=32) at src/gc/allocation.c:32
#6 0xb7c27812 in MVM_gc_allocate (tc=0x9f098a8, size=32) at src/gc/allocation.h:13
#7 0xb7c27965 in MVM_gc_allocate_zeroed (tc=0x9f098a8, size=32) at src/gc/allocation.c:49
#8 0xb7c27c35 in MVM_gc_allocate_object (tc=0x9f098a8, st=0x8319c80) at src/gc/allocation.c:86
#9 0xb7c53a29 in allocate (tc=0x9f098a8, st=0x8319c80) at src/6model/reprs/P6opaque.c:60
#10 0xb7c4492c in MVM_repr_clone (tc=0x9f098a8, obj=0x8b20540) at src/6model/reprconv.c:28
#11 0xb7c0721a in MVM_frame_vivify_lexical (tc=0x9f098a8, f=0x9f0a950, idx=6) at src/core/frame.c:1066
#12 0xb7bfb5c3 in MVM_interp_run (tc=0x9f098a8, initial_invoke=0xb7c0e420 <thread_initial_invoke>, invoke_data=0x9f05e48) at src/core/interp.c:5193
#13 0xb7c0e538 in start_thread (data=data@entry=0x9f05e48) at src/core/threads.c:81
#14 0xb7d0dab7 in uv__thread_start (arg=0x9f05e58) at 3rdparty/libuv/src/unix/thread.c:49
#15 0xb7911f72 in start_thread (arg=0xb56ffb40) at pthread_create.c:312
#16 0xb7a5c3ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) info threads
Id Target Id Frame
6 Thread 0xb38ffb40 (LWP 11844) "moar" 0xb7c81954 in gc_mark (tc=0x9f2efa8, st=0x80767f0, data=0xb2b09cc8, worklist=0xb2f5eab0) at src/6model/reprs/MVMSpeshLog.c:44
5 Thread 0xb42ffb40 (LWP 11843) "moar" 0xb7c53638 in MVM_p6opaque_real_data (tc=0x9f2d4b8, data=0xa03fd34) at src/6model/reprs/P6opaque.h:108
4 Thread 0xb4cffb40 (LWP 11842) "moar" 0xb7c81c42 in gc_mark (tc=0x9f2b9b8, st=0x80767f0, data=0xb2e09cc8, worklist=0xb4315550) at src/6model/reprs/MVMSpeshLog.c:51
* 3 Thread 0xb56ffb40 (LWP 11841) "moar" MVM_panic (exitCode=1, messageFormat=0xb7d1d4f0 "Invalid owner in item added to GC worklist") at src/core/exceptions.c:794
2 Thread 0xb7836b40 (LWP 11840) "moar" 0xb7fdccb0 in ?? ()
1 Thread 0xb78fb700 (LWP 11839) "moar" 0xb7fdccb0 in ?? ()
### valgrind
dogbert@dogbert-VirtualBox ~/repos/rakudo $ ./perl6-ugga t/spec/S15-nfg/many-threads.t
================================================================================================
This is Rakudo Perl 6 running in valgrind, a tool for debugging and profiling programs.
Running a program in valgrind usually takes *a lot* more time than running it directly,
so please be patient.
This Rakudo version is 2017.07.83.g.9658.dd.98.c built on MoarVM version 2017.07.243.g.6941.cada,
running on ubuntu (14.04.3.LTS.Trusty.Tahr) / linux (3.19.0.32.generic)
------------------------------------------------------------------------------------------------
==11942== Memcheck, a memory error detector
==11942== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==11942== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==11942== Command: /home/dogbert/repos/rakudo/install/bin/moar --execname=./perl6-ugga --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=. /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/spec/S15-nfg/many-threads.t
==11942==
1..4
==11942== Thread 5:
==11942== Conditional jump or move depends on uninitialised value(s)
==11942== at 0x412A10E: is_stack_frame (roots.c:235)
==11942== by 0x412A178: MVM_gc_root_add_temps_to_worklist (roots.c:244)
==11942== by 0x412BF7D: MVM_gc_collect (collect.c:117)
==11942== by 0x4126157: run_gc (orchestrate.c:354)
==11942== by 0x412653E: MVM_gc_enter_from_allocator (orchestrate.c:466)
==11942== by 0x41268FC: MVM_gc_allocate_nursery (allocation.c:32)
==11942== by 0x4126811: MVM_gc_allocate (allocation.h:13)
==11942== by 0x4126964: MVM_gc_allocate_zeroed (allocation.c:49)
==11942== by 0x4126C34: MVM_gc_allocate_object (allocation.c:86)
==11942== by 0x4152A28: allocate (P6opaque.c:60)
==11942== by 0x414392B: MVM_repr_clone (reprconv.c:28)
==11942== by 0x4106219: MVM_frame_vivify_lexical (frame.c:1066)
==11942==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment