Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created October 9, 2017 15:31
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/18d11a6e9d4bea90f126cb3932f80423 to your computer and use it in GitHub Desktop.
Save dogbert17/18d11a6e9d4bea90f126cb3932f80423 to your computer and use it in GitHub Desktop.
MoarVM Panic in t/spec/S17-lowlevel/semaphore.t using small nursery in order to provoke the error
dogbert@dogbert-VirtualBox ~/repos/rakudo $ MVM_SPESH_BLOCKING=1 ./perl6-gdb-m t/spec/S17-lowlevel/semaphore.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 2017.09.356.g.56.eef.6967 built on MoarVM version 2017.09.1.575.gd.4.e.230.a.6,
running on ubuntu (14.04.3.LTS.Trusty.Tahr) / linux (3.19.0.32.generic)
Type `bt full` to generate a backtrace if applicable, type `q` to quit or `help` for help.
------------------------------------------------------------------------------------------------
Reading symbols from /home/dogbert/repos/rakudo/install/bin/moar...done.
Starting program: /home/dogbert/repos/rakudo/install/bin/moar --execname=./perl6-gdb-m --libpath=. --libpath=blib --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 /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/spec/S17-lowlevel/semaphore.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb77eeb40 (LWP 23917)]
1..2
[New Thread 0xb53ffb40 (LWP 23918)]
[New Thread 0xb49ffb40 (LWP 23919)]
ok 1 - Sempahore protected addition and we got the correct result
ok 2 - Semaphore protected array operations
[Thread 0xb49ffb40 (LWP 23919) exited]
[Thread 0xb53ffb40 (LWP 23918) exited]
[Thread 0xb7872700 (LWP 23913) exited]
[Inferior 1 (process 23913) exited normally]
(gdb) b MVM_panic
Breakpoint 1 at 0xb7b57659: file src/core/exceptions.c, line 688.
... r pressed quite a few times
(gdb) r
Starting program: /home/dogbert/repos/rakudo/install/bin/moar --execname=./perl6-gdb-m --libpath=. --libpath=blib --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 /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib t/spec/S17-lowlevel/semaphore.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb77eeb40 (LWP 24229)]
1..2
[New Thread 0xb53ffb40 (LWP 24230)]
[New Thread 0xb49ffb40 (LWP 24231)]
ok 1 - Sempahore protected addition and we got the correct result
[Switching to Thread 0xb49ffb40 (LWP 24231)]
Breakpoint 1, MVM_panic (exitCode=1, messageFormat=0xb7caa6b8 "Collectable %p in fromspace accessed") at src/core/exceptions.c:688
688 fprintf(stderr, "MoarVM panic: ");
(gdb) bt
#0 MVM_panic (exitCode=1, messageFormat=0xb7caa6b8 "Collectable %p in fromspace accessed") at src/core/exceptions.c:688
#1 0xb7b9561e in MVM_frame_move_to_heap (tc=0xa3620c0, frame=0xa4e7a78) at src/core/frame.c:722
#2 0xb7b935da in MVM_frame_force_to_heap (tc=0xa3620c0, frame=0xa4e7a78) at src/core/frame.h:193
#3 0xb7b969c7 in MVM_frame_takeclosure (tc=0xa3620c0, code=0x8a48100) at src/core/frame.c:1071
#4 0xb7b61cf9 in MVM_interp_run (tc=0xa3620c0, initial_invoke=0xb7b9e645 <thread_initial_invoke>, invoke_data=0xa361d78) at src/core/interp.c:1182
#5 0xb7b9e77f in start_thread (data=0xa361d78) at src/core/threads.c:85
#6 0xb7888f72 in start_thread (arg=0xb49ffb40) at pthread_create.c:312
#7 0xb79d33ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) info threads
Id Target Id Frame
* 4 Thread 0xb49ffb40 (LWP 24231) "moar" MVM_panic (exitCode=1, messageFormat=0xb7caa6b8 "Collectable %p in fromspace accessed") at src/core/exceptions.c:688
3 Thread 0xb53ffb40 (LWP 24230) "moar" 0xb7b58844 in check_reg (tc=0xa3406e8, reg_base=0xb3e50020, idx=27) at src/core/interp.c:15
2 Thread 0xb77eeb40 (LWP 24229) "moar" 0xb7fdccb0 in ?? ()
1 Thread 0xb7872700 (LWP 24228) "moar" 0xb7b95c28 in remove_one_frame (tc=0x804c5f8, unwind=0 '\000') at src/core/frame.c:828
(gdb) t 3
[Switching to thread 3 (Thread 0xb53ffb40 (LWP 24230))]
#0 0xb7b58844 in check_reg (tc=0xa3406e8, reg_base=0xb3e50020, idx=27) at src/core/interp.c:15
15 MVM_ASSERT_NOT_FROMSPACE(tc, reg_base[idx].o);
(gdb) bt
#0 0xb7b58844 in check_reg (tc=0xa3406e8, reg_base=0xb3e50020, idx=27) at src/core/interp.c:15
#1 0xb7b89eeb in MVM_interp_run (tc=0xa3406e8, initial_invoke=0xb7b9e645 <thread_initial_invoke>, invoke_data=0xa361540) at src/core/interp.c:5281
#2 0xb7b9e77f in start_thread (data=0xa361540) at src/core/threads.c:85
#3 0xb7888f72 in start_thread (arg=0xb53ffb40) at pthread_create.c:312
#4 0xb79d33ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb) t 1
[Switching to thread 1 (Thread 0xb7872700 (LWP 24228))]
#0 0xb7b95c28 in remove_one_frame (tc=0x804c5f8, unwind=0 '\000') at src/core/frame.c:828
828 return 1;
(gdb) bt
#0 0xb7b95c28 in remove_one_frame (tc=0x804c5f8, unwind=0 '\000') at src/core/frame.c:828
#1 0xb7b95efb in MVM_frame_try_return (tc=0x804c5f8) at src/core/frame.c:895
#2 0xb7b5b6f0 in MVM_interp_run (tc=0x804c5f8, initial_invoke=0xb7c86f46 <toplevel_initial_invoke>, invoke_data=0x80bb7b8) at src/core/interp.c:486
#3 0xb7c870a5 in MVM_vm_run_file (instance=0x804c008, filename=0xbffff2c5 "/home/dogbert/repos/rakudo/perl6.moarvm") at src/moar.c:401
#4 0x08048f3f in main (argc=10, argv=0xbfffefc4) at src/main.c:257
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment