Created
April 28, 2018 13:57
-
-
Save dogbert17/782a4be73b1d9106e2d1848f882b71ce to your computer and use it in GitHub Desktop.
SEGV when profiling code with MVM_SPESH_DISABLE=1
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
dogbert@dogbert-VirtualBox ~/repos/rakudo $ MVM_SPESH_DISABLE=1 ./perl6-gdb-m --profile -e '(^∞).hyper.grep(*.is-prime)[500].say; say now - ENTER now' | |
================================================================================================ | |
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.04.20.g.7847768.ca built on MoarVM version 2018.04.34.g.25.f.165.ad.7, | |
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 --profile -e \(\^∞\).hyper.grep\(\*.is-prime\)\[500\].say\;\ say\ now\ -\ ENTER\ now | |
[Thread debugging using libthread_db enabled] | |
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". | |
[New Thread 0xb5d1db40 (LWP 5663)] | |
[New Thread 0xb53ffb40 (LWP 5664)] | |
[New Thread 0xb43ffb40 (LWP 5665)] | |
3581 | |
0.374846 | |
Writing profiler output to profile-1524923698.5802877.html | |
Program received signal SIGSEGV, Segmentation fault. | |
[Switching to Thread 0xb43ffb40 (LWP 5665)] | |
0xb7acd1e3 in MVM_hll_map (tc=0xb4a66c80, obj=0x1, hll=0x86e0068, res_reg=0x8f1c838) at src/core/hll.c:178 | |
178 else if (STABLE(obj)->hll_owner == hll) { | |
(gdb) bt | |
#0 0xb7acd1e3 in MVM_hll_map (tc=0xb4a66c80, obj=0x1, hll=0x86e0068, res_reg=0x8f1c838) at src/core/hll.c:178 | |
#1 0xb7aa558d in MVM_interp_run (tc=0xb4a66c80, initial_invoke=0xb7ac9e27 <thread_initial_invoke>, invoke_data=0xb4a60940) at src/core/interp.c:2759 | |
#2 0xb7ac9f6c in start_thread (data=0xb4a60940) at src/core/threads.c:87 | |
#3 0xb77bdf72 in start_thread (arg=0xb43ffb40) at pthread_create.c:312 | |
#4 0xb790743e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 | |
(gdb) info threads | |
Id Target Id Frame | |
* 4 Thread 0xb43ffb40 (LWP 5665) "moar" 0xb7acd1e3 in MVM_hll_map (tc=0xb4a66c80, obj=0x1, hll=0x86e0068, res_reg=0x8f1c838) at src/core/hll.c:178 | |
3 Thread 0xb53ffb40 (LWP 5664) "moar" 0xb7fdccb0 in ?? () | |
2 Thread 0xb5d1db40 (LWP 5663) "moar" 0xb7bee113 in mp_init () from //home/dogbert/repos/rakudo/nqp/MoarVM/../../install/lib/libmoar.so | |
1 Thread 0xb77a7940 (LWP 5662) "moar" 0xb7a8a243 in __x86.get_pc_thunk.bx () from //home/dogbert/repos/rakudo/nqp/MoarVM/../../install/lib/libmoar.so | |
(gdb) p MVM_dump_backtrace(tc) | |
at <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:do-await) | |
from <unknown>:1 (./CORE.setting.moarvm:await) | |
from SETTING::src/core/Rakudo/Internals/HyperPipeline.pm6:95 (./CORE.setting.moarvm:) | |
from SETTING::src/core/Promise.pm6:247 (./CORE.setting.moarvm:) | |
from SETTING::src/core/ThreadPoolScheduler.pm6:849 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from <unknown>:1 (./CORE.setting.moarvm:) | |
from SETTING::src/core/ThreadPoolScheduler.pm6:60 (./CORE.setting.moarvm:) | |
from SETTING::src/core/ThreadPoolScheduler.pm6:238 (./CORE.setting.moarvm:) | |
from SETTING::src/core/ThreadPoolScheduler.pm6:232 (./CORE.setting.moarvm:run-one) | |
from SETTING::src/core/ThreadPoolScheduler.pm6:270 (./CORE.setting.moarvm:) | |
from SETTING::src/core/Thread.pm6:54 (./CORE.setting.moarvm:THREAD-ENTRY) | |
$1 = void | |
(gdb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment