Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Last active August 16, 2017 11:25
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/0561c5626a1f9c6ccaf6663428050538 to your computer and use it in GitHub Desktop.
Save dogbert17/0561c5626a1f9c6ccaf6663428050538 to your computer and use it in GitHub Desktop.
t/spec/S17-promise/nonblocking-await.t
(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/S17-promise/nonblocking-await.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7871b40 (LWP 6226)]
1..19
[New Thread 0xb4cffb40 (LWP 6227)]
[New Thread 0xb42ffb40 (LWP 6228)]
[New Thread 0xb38ffb40 (LWP 6229)]
[New Thread 0xb2cffb40 (LWP 6230)]
ok 1 - Recursion creating a deep await-tree completes correctly
1..3
ok 1 - code dies
ok 2 - right exception type (Exception)
ok 3 - .message matches oopsy
ok 2 - Deep Promise tree conveys exception up to the top
[New Thread 0xb20ffb40 (LWP 6231)]
ok 3 - Hundreds of time-based Promises awaited completes correctly
ok 4 - await of multiple Promises suspends until all ready
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb42ffb40 (LWP 6228)]
0xb7c276fd in MVM_gc_root_add_frame_registers_to_worklist (tc=0xb4387528, worklist=0xb1558e88, frame=0xb23302cc) at src/gc/roots.c:399
399 type_map = frame->static_info->body.local_types;
(gdb) bt
#0 0xb7c276fd in MVM_gc_root_add_frame_registers_to_worklist (tc=0xb4387528, worklist=0xb1558e88, frame=0xb23302cc) at src/gc/roots.c:399
#1 0xb7c27683 in MVM_gc_root_add_frame_roots_to_worklist (tc=0xb4387528, worklist=0xb1558e88, cur_frame=0xb23302cc) at src/gc/roots.c:381
#2 0xb7c2a2e1 in MVM_gc_mark_collectable (tc=0xb4387528, worklist=0xb1558e88, new_addr=0xb23302cc) at src/gc/collect.c:384
#3 0xb7c28bbf in process_worklist (tc=0xb4387528, worklist=0xb1558e88, wtp=0xb42fd948, gen=0 '\000') at src/gc/collect.c:314
#4 0xb7c286f5 in MVM_gc_collect (tc=0xb4387528, what_to_do=1 '\001', gen=0 '\000') at src/gc/collect.c:119
#5 0xb7c22a31 in run_gc (tc=0xb4387528, what_to_do=1 '\001') at src/gc/orchestrate.c:354
#6 0xb7c22fbf in MVM_gc_enter_from_interrupt (tc=0xb4387528) at src/gc/orchestrate.c:521
#7 0xb7c231a4 in MVM_gc_allocate_nursery (tc=0xb4387528, size=48) at src/gc/allocation.c:18
#8 0xb7c230eb in MVM_gc_allocate (tc=0xb4387528, size=48) at src/gc/allocation.h:13
#9 0xb7c2323e in MVM_gc_allocate_zeroed (tc=0xb4387528, size=48) at src/gc/allocation.c:49
#10 0xb7c2350e in MVM_gc_allocate_object (tc=0xb4387528, st=0x8077380) at src/gc/allocation.c:86
#11 0xb7c40776 in MVM_repr_alloc_init (tc=0xb4387528, type=0x807e160) at src/6model/reprconv.c:17
#12 0xb7cad4b2 in MVM_spesh_log_create (tc=0xb4387528, target_thread=0xb3996280) at src/spesh/log.c:15
#13 0xb7cad6e5 in send_log (tc=0xb4387528, sl=0xb2f55c70) at src/spesh/log.c:44
#14 0xb7cad75c in commit_entry (tc=0xb4387528, sl=0xb2f55c70) at src/spesh/log.c:54
#15 0xb7cad96e in MVM_spesh_log_entry (tc=0xb4387528, cid=7823, sf=0x89554d0, cs=0xb7f937cc <two_args_callsite>) at src/spesh/log.c:84
#16 0xb7c006be in MVM_frame_invoke (tc=0xb4387528, static_frame=0x89554d0, callsite=0xb7f937cc <two_args_callsite>, args=0x8f4e788, outer=0xb16bb828, code_ref=0xb16dcba8, spesh_cand=-1) at src/core/frame.c:529
#17 0xb7c5648a in invoke_handler (tc=0xb4387528, invokee=0xb16dcba8, callsite=0xb7f937cc <two_args_callsite>, args=0x8f4e788) at src/6model/reprs/MVMCode.c:10
#18 0xb7bcd45f in MVM_interp_run (tc=0xb4387528, initial_invoke=0xb7c09bc0 <thread_initial_invoke>, invoke_data=0xb43866c0) at src/core/interp.c:973
#19 0xb7c09cd8 in start_thread (data=0xb43866c0) at src/core/threads.c:81
#20 0xb7d0da67 in uv.thread_start () from //home/dogbert/repos/rakudo/install/lib/libmoar.so
#21 0xb790bf72 in start_thread (arg=0xb42ffb40) at pthread_create.c:312
#22 0xb7a563ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) info threads
Id Target Id Frame
7 Thread 0xb20ffb40 (LWP 6231) "moar" pthread_cond_broadcast@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_broadcast.S:128
6 Thread 0xb2cffb40 (LWP 6230) "moar" 0xb7fdccb0 in ?? ()
5 Thread 0xb38ffb40 (LWP 6229) "moar" 0xb7fdccb0 in ?? ()
* 4 Thread 0xb42ffb40 (LWP 6228) "moar" 0xb7c276fd in MVM_gc_root_add_frame_registers_to_worklist (tc=0xb4387528, worklist=0xb1558e88, frame=0xb23302cc) at src/gc/roots.c:399
3 Thread 0xb4cffb40 (LWP 6227) "moar" 0xb7fdccb0 in ?? ()
2 Thread 0xb7871b40 (LWP 6226) "moar" 0xb7fdccb0 in ?? ()
1 Thread 0xb78f5700 (LWP 6225) "moar" 0xb7c27f03 in scan_lexicals (tc=0x804c588, worklist=0xadefb68, frame=0xad7c820) at src/gc/roots.c:455
(gdb) t 1
[Switching to thread 1 (Thread 0xb78f5700 (LWP 6225))]
#0 0xb7c27f03 in scan_lexicals (tc=0x804c588, worklist=0xadefb68, frame=0xad7c820) at src/gc/roots.c:455
455 MVM_gc_worklist_add(tc, worklist, &frame->env[i].o);
(gdb) bt
#0 0xb7c27f03 in scan_lexicals (tc=0x804c588, worklist=0xadefb68, frame=0xad7c820) at src/gc/roots.c:455
#1 0xb7c2769c in MVM_gc_root_add_frame_roots_to_worklist (tc=0x804c588, worklist=0xadefb68, cur_frame=0xad7c820) at src/gc/roots.c:382
#2 0xb7c2a2e1 in MVM_gc_mark_collectable (tc=0x804c588, worklist=0xadefb68, new_addr=0xad7c820) at src/gc/collect.c:384
#3 0xb7c26c2d in MVM_gc_root_add_gen2s_to_worklist (tc=0x804c588, worklist=0xadefb68) at src/gc/roots.c:294
#4 0xb7c2870d in MVM_gc_collect (tc=0x804c588, what_to_do=0 '\000', gen=0 '\000') at src/gc/collect.c:127
#5 0xb7c22a31 in run_gc (tc=0x804c588, what_to_do=0 '\000') at src/gc/orchestrate.c:354
#6 0xb7c22e18 in MVM_gc_enter_from_allocator (tc=0x804c588) at src/gc/orchestrate.c:466
#7 0xb7c231d6 in MVM_gc_allocate_nursery (tc=0x804c588, size=32) at src/gc/allocation.c:32
#8 0xb7c230eb in MVM_gc_allocate (tc=0x804c588, size=32) at src/gc/allocation.h:13
#9 0xb7c2323e in MVM_gc_allocate_zeroed (tc=0x804c588, size=32) at src/gc/allocation.c:49
#10 0xb7c2350e in MVM_gc_allocate_object (tc=0x804c588, st=0x8570aa0) at src/gc/allocation.c:86
#11 0xb7c4f928 in allocate (tc=0x804c588, st=0x8570aa0) at src/6model/reprs/P6opaque.c:60
#12 0xb7c4082b in MVM_repr_clone (tc=0x804c588, obj=0xabf79b8) at src/6model/reprconv.c:32
#13 0xb7c026c6 in MVM_frame_vivify_lexical (tc=0x804c588, f=0xb78c4038, idx=3) at src/core/frame.c:1125
#14 0xb7bf6321 in MVM_interp_run (tc=0x804c588, initial_invoke=0xb7cf1b7d <toplevel_initial_invoke>, invoke_data=0x80b9a78) at src/core/interp.c:5264
#15 0xb7cf1cdc in MVM_vm_run_file (instance=0x804c008, filename=0xbffff2d4 "/home/dogbert/repos/rakudo/perl6.moarvm") at src/moar.c:356
#16 0x08048f3f in main (argc=9, argv=0xbfffeff4) at src/main.c:255
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment