Skip to content

MoarVM panic when profiling an EVAL that fails #1187

@MasterDuke17

Description

@MasterDuke17
[dan@alexandria p6]$ gdb --args ~/p6/install/bin/perl6 --profile -e 'EVAL q|my $a = "a" x NaN|'
GNU gdb (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/dan/p6/install/bin/perl6...
(gdb) b MVM_panic
Function "MVM_panic" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (MVM_panic) pending.
(gdb) r
Starting program: /home/dan/Source/perl6/install/bin/perl6 --profile -e EVAL\ q\|my\ \$a\ =\ \"a\"\ x\ NaN\|
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff6e7e700 (LWP 82804)]
   at gen/moar/Optimizer.nqp:1962  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:)
 from gen/moar/Optimizer.nqp:1907  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:optimize_call)
 from gen/moar/Optimizer.nqp:1706  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_op)
 from gen/moar/Optimizer.nqp:2859  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_children)
 from gen/moar/Optimizer.nqp:1746  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_op_children)
 from gen/moar/Optimizer.nqp:1526  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_op)
 from gen/moar/Optimizer.nqp:2859  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_children)
 from gen/moar/Optimizer.nqp:2877  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_children)
 from gen/moar/Optimizer.nqp:2873  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_children)
 from gen/moar/Optimizer.nqp:2877  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_children)
 from gen/moar/Optimizer.nqp:1123  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:visit_block)
 from gen/moar/Optimizer.nqp:1071  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Optimizer.moarvm:optimize)
 from gen/moar/Compiler.nqp:68  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Compiler.moarvm:optimize)
 from gen/moar/stage2/NQPHLL.nqp:2181  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:execute_stage)
 from gen/moar/stage2/NQPHLL.nqp:2211  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:run)
 from gen/moar/stage2/NQPHLL.nqp:2220  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:)
 from gen/moar/stage2/NQPHLL.nqp:2239  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:compile)
 from SETTING::src/core.c/ForeignCode.pm6:74  (/home/dan/Source/perl6/install/share/perl6/runtime/CORE.c.setting.moarvm:EVAL)
 from -e:1  (<ephemeral file>:<unit>)
 from -e:1  (<ephemeral file>:<unit-outer>)
 from gen/moar/stage2/NQPHLL.nqp:1904  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:)
 from gen/moar/stage2/NQPHLL.nqp:161  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:run_profiled)
 from gen/moar/stage2/NQPHLL.nqp:1903  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:eval)
 from gen/moar/stage2/NQPHLL.nqp:2021  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:)
 from gen/moar/stage2/NQPHLL.nqp:2020  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
 from gen/moar/Compiler.nqp:55  (/home/dan/Source/perl6/install/share/perl6/lib/Perl6/Compiler.moarvm:command_eval)
 from gen/moar/stage2/NQPHLL.nqp:2001  (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:command_line)
 from gen/moar/perl6.nqp:126  (/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm:MAIN)
 from gen/moar/perl6.nqp:91  (/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm:<mainline>)
 from <unknown>:1  (/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm:<main>)
 from <unknown>:1  (/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm:<entry>)

Thread 1 "perl6" hit Breakpoint 1, MVM_panic (exitCode=exitCode@entry=1, messageFormat=messageFormat@entry=0x7ffff7d821d1 "Profiler lost sequence") at src/core/exceptions.c:832
832     MVM_NO_RETURN void MVM_panic(MVMint32 exitCode, const char *messageFormat, ...) {
(gdb) bt
#0  MVM_panic (exitCode=exitCode@entry=1, messageFormat=messageFormat@entry=0x7ffff7d821d1 "Profiler lost sequence") at src/core/exceptions.c:832
#1  0x00007ffff79d11aa in log_exit (unwind=<optimized out>, tc=0x555555559f40) at src/profiler/log.c:207
#2  log_exit (unwind=0, tc=0x555555559f40) at src/profiler/log.c:195
#3  MVM_profile_log_exit (tc=0x555555559f40) at src/profiler/log.c:224
#4  0x00007ffff78df098 in MVM_interp_run (tc=0x1, tc@entry=0x555555559f40, initial_invoke=0x7ffff7d821d1, initial_invoke@entry=0x7ffff79db950 <toplevel_initial_invoke>, invoke_data=0x7ffff7d821d1, 
    invoke_data@entry=0x7ffff79db950 <toplevel_initial_invoke>) at src/core/interp.c:6484
#5  0x00007ffff79dc9df in MVM_vm_run_file (instance=<optimized out>, filename=0x5555555593f0 "/home/dan/Source/perl6/install/share/perl6/runtime/perl6.moarvm") at src/moar.c:460
#6  0x00005555555555ca in main (argc=<optimized out>, argv=<optimized out>) at src/vm/moar/runner/main.c:369
(gdb)

This is Rakudo version 2019.07.1-370-g168c9c2fb built on MoarVM version 2019.07.1-248-gb72a790b1

Metadata

Metadata

Assignees

No one assigned

    Labels

    profilinganything related to the profilers (heap snapshot or instrumented)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions