Ticket #2165 (new bug)

Opened 3 years ago

Last modified 3 years ago

Coredumping Parrot with only 2 lines of PASM for fun and profit

Reported by: dukeleto Owned by:
Priority: normal Milestone:
Component: core Version: master
Severity: high Keywords:
Cc: Language:
Patch status: Platform: all

Description

(sarkomand)(~/git/linguist master* )$ parrot_config sha1
7b9fa1943a02630840e861fe709c01c28120bc08
(sarkomand)(~/git/linguist master* )$ cat hello.pasm 
.pcc_sub :main main:
    say "Hello!"
(sarkomand)(~/git/linguist master* )$ parrot hello.pasm 
Hello!

Segmentation fault (core dumped)

The backtrace is:

Program terminated with signal 11, Segmentation fault.
#0  0x00007f1bcd9d8a47 in runops_fast_core (interp=0xb54050, runcore_unused=0xc3c1c0, pc=0xc4f1b0) at src/runcore/cores.c:504
504	        DO_OP(pc, interp);
(gdb) bt
#0  0x00007f1bcd9d8a47 in runops_fast_core (interp=0xb54050, runcore_unused=0xc3c1c0, pc=0xc4f1b0) at src/runcore/cores.c:504
#1  0x00007f1bcd9d7e97 in runops_int (interp=0xb54050, offset=0) at src/runcore/main.c:218
#2  0x00007f1bcd9abe60 in runops (interp=0xb54050, offs=0) at src/call/ops.c:126
#3  0x00007f1bcd9a4982 in Parrot_pcc_invoke_from_sig_object (interp=0xb54050, sub_obj=0xc409b0, call_object=0xc40ac8) at src/call/pcc.c:337
#4  0x00007f1bcd9a40d5 in Parrot_pcc_invoke_sub_from_c_args (interp=0xb54050, sub_obj=0xc409b0, sig=0x7f1bcdb618e5 "P->") at src/call/pcc.c:139
#5  0x00007f1bcd9ed15a in Parrot_pf_execute_bytecode_program (interp=0xb54050, pbc=0xc40988, args=0xc407d0) at src/packfile/api.c:2738
#6  0x00007f1bcd981415 in Parrot_api_run_bytecode (interp_pmc=0xc34b78, pbc=0xc40988, mainargs=0xc407d0) at src/embed/bytecode.c:162
#7  0x00000000004019e0 in main (argc=2, argv=0x7fff63a4d778) at frontend/parrot/main.c:226

Change History

Changed 3 years ago by dukeleto

This happens when there is no "end" op at the end of the PASM code.

Changed 3 years ago by jkeenan

  • component changed from none to core
Note: See TracTickets for help on using tickets.