Ticket #1634 (closed bug: fixed)

Opened 5 years ago

Last modified 4 years ago

segfault in Parrot_Class_init_pmc

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

Description

grab the latest rakudo. Build perl6; run this file:  http://github.com/partcl/partcl-nqp/blob/master/src/Partcl/Grammar.pm

Segfault:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
0x000000010101207b in Parrot_Class_init_pmc (interp=0x1024088d0, _self=0x105296060, init_data=0x105273b38) at class.pmc:616
616             const INTVAL   arg_type = VTABLE_type(INTERP, init_data);
(gdb) bt
#0  0x000000010101207b in Parrot_Class_init_pmc (interp=0x1024088d0, _self=0x105296060, init_data=0x105273b38) at class.pmc:616
#1  0x0000000100f89054 in Parrot_pmc_new_init (interp=0x1024088d0, base_type=41, init=0x105273b38) at src/pmc.c:550
#2  0x0000000100f0dbde in Parrot_newclass_p_pc (cur_opcode=0x1027cd1b0, interp=0x1024088d0) at src/ops/core_ops.c:23933
#3  0x0000000100f8aaf5 in runops_fast_core (interp=0x1024088d0, runcore_unused=0x10241c180, pc=0x1027cd1b0) at src/runcore/cores.c:514
#4  0x0000000100f89f9c in runops_int (interp=0x1024088d0, offset=0) at src/runcore/main.c:237
#5  0x0000000100f4c7b2 in runops (interp=0x1024088d0, offs=0) at src/call/ops.c:113
#6  0x0000000100f45856 in Parrot_pcc_invoke_from_sig_object (interp=0x1024088d0, sub_obj=0x105294320, call_object=0x105295fc0) at src/call/pcc.c:359
#7  0x0000000100f45a66 in Parrot_pcc_invoke_sub_from_c_args (interp=0x1024088d0, sub_obj=0x105294320, sig=0x10109e91e "->P") at src/call/pcc.c:87
#8  0x0000000100f84ae3 in run_sub (interp=0x1024088d0, sub_pmc=0x105294320) at src/packfile.c:701
#9  0x0000000100f84cd8 in do_1_sub_pragma (interp=0x1024088d0, sub_pmc=0x105294320, action=PBC_LOADED) at src/packfile.c:763
#10 0x0000000100f84fe6 in do_sub_pragmas (interp=0x1024088d0, self=0x105b3c2a0, action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:953
#11 0x0000000100f85234 in PackFile_append_pbc (interp=0x1024088d0, filename=0x105b3be80 "/Users/coke/bird/lib/parrot/2.3.0-devel/library/P6object.pbc") at src/packfile.c:4795
#12 0x0000000100f85328 in compile_or_load_file (interp=0x1024088d0, path=0x1052150c0, file_type=PARROT_RUNTIME_FT_PBC) at src/packfile.c:4658
#13 0x0000000100f855e3 in Parrot_load_bytecode (interp=0x1024088d0, file_str=0x10526b0d8) at src/packfile.c:4861
#14 0x0000000100f1f3aa in Parrot_load_bytecode_sc (cur_opcode=0x10250b1b0, interp=0x1024088d0) at src/ops/core_ops.c:16986
#15 0x0000000100f8aaf5 in runops_fast_core (interp=0x1024088d0, runcore_unused=0x10241c180, pc=0x10250b1b0) at src/runcore/cores.c:514
#16 0x0000000100f89f9c in runops_int (interp=0x1024088d0, offset=0) at src/runcore/main.c:237
#17 0x0000000100f4c7b2 in runops (interp=0x1024088d0, offs=0) at src/call/ops.c:113
#18 0x0000000100f45856 in Parrot_pcc_invoke_from_sig_object (interp=0x1024088d0, sub_obj=0x1052563a0, call_object=0x105293e60) at src/call/pcc.c:359
#19 0x0000000100f45a66 in Parrot_pcc_invoke_sub_from_c_args (interp=0x1024088d0, sub_obj=0x1052563a0, sig=0x10109e91e "->P") at src/call/pcc.c:87
#20 0x0000000100f84ae3 in run_sub (interp=0x1024088d0, sub_pmc=0x1052563a0) at src/packfile.c:701
#21 0x0000000100f84cd8 in do_1_sub_pragma (interp=0x1024088d0, sub_pmc=0x1052563a0, action=PBC_LOADED) at src/packfile.c:763
#22 0x0000000100f84fe6 in do_sub_pragmas (interp=0x1024088d0, self=0x105b09b90, action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:953
#23 0x0000000100f85234 in PackFile_append_pbc (interp=0x1024088d0, filename=0x105b09850 "/Users/coke/bird/lib/parrot/2.3.0-devel/library/Regex.pbc") at src/packfile.c:4795
#24 0x0000000100f85328 in compile_or_load_file (interp=0x1024088d0, path=0x10520fd80, file_type=PARROT_RUNTIME_FT_PBC) at src/packfile.c:4658
#25 0x0000000100f855e3 in Parrot_load_bytecode (interp=0x1024088d0, file_str=0x1051ee738) at src/packfile.c:4861
#26 0x0000000100f1f3aa in Parrot_load_bytecode_sc (cur_opcode=0x1038011f0, interp=0x1024088d0) at src/ops/core_ops.c:16986
#27 0x0000000100f8aaf5 in runops_fast_core (interp=0x1024088d0, runcore_unused=0x10241c180, pc=0x1038011f0) at src/runcore/cores.c:514
#28 0x0000000100f89f9c in runops_int (interp=0x1024088d0, offset=0) at src/runcore/main.c:237
#29 0x0000000100f4c7b2 in runops (interp=0x1024088d0, offs=0) at src/call/ops.c:113
#30 0x0000000100f45856 in Parrot_pcc_invoke_from_sig_object (interp=0x1024088d0, sub_obj=0x105227f40, call_object=0x105255ee0) at src/call/pcc.c:359
#31 0x0000000100f45a66 in Parrot_pcc_invoke_sub_from_c_args (interp=0x1024088d0, sub_obj=0x105227f40, sig=0x10109e91e "->P") at src/call/pcc.c:87
#32 0x0000000100f84ae3 in run_sub (interp=0x1024088d0, sub_pmc=0x105227f40) at src/packfile.c:701
#33 0x0000000100f84cd8 in do_1_sub_pragma (interp=0x1024088d0, sub_pmc=0x105227f40, action=PBC_LOADED) at src/packfile.c:763
#34 0x0000000100f84fe6 in do_sub_pragmas (interp=0x1024088d0, self=0x1058cdd70, action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:953
#35 0x0000000100f85234 in PackFile_append_pbc (interp=0x1024088d0, filename=0x1058cda20 "/Users/coke/bird/lib/parrot/2.3.0-devel/library/HLL.pbc") at src/packfile.c:4795
#36 0x0000000100f85328 in compile_or_load_file (interp=0x1024088d0, path=0x10520b190, file_type=PARROT_RUNTIME_FT_PBC) at src/packfile.c:4658
#37 0x0000000100f855e3 in Parrot_load_bytecode (interp=0x1024088d0, file_str=0x1050e2e28) at src/packfile.c:4861
#38 0x0000000100f1f3aa in Parrot_load_bytecode_sc (cur_opcode=0x103556200, interp=0x1024088d0) at src/ops/core_ops.c:16986
#39 0x0000000100f8aaf5 in runops_fast_core (interp=0x1024088d0, runcore_unused=0x10241c180, pc=0x103556200) at src/runcore/cores.c:514
#40 0x0000000100f89f9c in runops_int (interp=0x1024088d0, offset=0) at src/runcore/main.c:237
#41 0x0000000100f4c7b2 in runops (interp=0x1024088d0, offs=0) at src/call/ops.c:113
#42 0x0000000100f45856 in Parrot_pcc_invoke_from_sig_object (interp=0x1024088d0, sub_obj=0x1051b7960, call_object=0x105227b80) at src/call/pcc.c:359
#43 0x0000000100f45a66 in Parrot_pcc_invoke_sub_from_c_args (interp=0x1024088d0, sub_obj=0x1051b7960, sig=0x10109e91e "->P") at src/call/pcc.c:87
#44 0x0000000100f84ae3 in run_sub (interp=0x1024088d0, sub_pmc=0x1051b7960) at src/packfile.c:701
#45 0x0000000100f84cd8 in do_1_sub_pragma (interp=0x1024088d0, sub_pmc=0x1051b7960, action=PBC_LOADED) at src/packfile.c:763
#46 0x0000000100f84fe6 in do_sub_pragmas (interp=0x1024088d0, self=0x10587c450, action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:953
#47 0x0000000100f85234 in PackFile_append_pbc (interp=0x1024088d0, filename=0x1058480c0 "/Users/coke/bird/lib/parrot/2.3.0-devel/library/P6Regex.pbc") at src/packfile.c:4795
#48 0x0000000100f85328 in compile_or_load_file (interp=0x1024088d0, path=0x1046a4e90, file_type=PARROT_RUNTIME_FT_PBC) at src/packfile.c:4658
#49 0x0000000100f855e3 in Parrot_load_bytecode (interp=0x1024088d0, file_str=0x1028e5720) at src/packfile.c:4861
#50 0x0000000100f1f3aa in Parrot_load_bytecode_sc (cur_opcode=0x103000000, interp=0x1024088d0) at src/ops/core_ops.c:16986
#51 0x0000000100f8aaf5 in runops_fast_core (interp=0x1024088d0, runcore_unused=0x10241c180, pc=0x103000000) at src/runcore/cores.c:514
#52 0x0000000100f89f9c in runops_int (interp=0x1024088d0, offset=0) at src/runcore/main.c:237
#53 0x0000000100f4c7b2 in runops (interp=0x1024088d0, offs=0) at src/call/ops.c:113
#54 0x0000000100f45856 in Parrot_pcc_invoke_from_sig_object (interp=0x1024088d0, sub_obj=0x1028aa480, call_object=0x1051b75a0) at src/call/pcc.c:359
#55 0x0000000100f45a66 in Parrot_pcc_invoke_sub_from_c_args (interp=0x1024088d0, sub_obj=0x1028aa480, sig=0x10109e91e "->P") at src/call/pcc.c:87
#56 0x0000000100f84ae3 in run_sub (interp=0x1024088d0, sub_pmc=0x1028aa480) at src/packfile.c:701
#57 0x0000000100f84dfb in do_1_sub_pragma (interp=0x1024088d0, sub_pmc=0x1028aa480, action=PBC_MAIN) at src/packfile.c:793
#58 0x0000000100f84fe6 in do_sub_pragmas (interp=0x1024088d0, self=0x10241c9a0, action=PBC_MAIN, eval_pmc=0x0) at src/packfile.c:953
#59 0x0000000100f850ec in PackFile_fixup_subs (interp=0x1024088d0, what=PBC_MAIN, eval=0x0) at src/packfile.c:4884
#60 0x0000000100000b03 in main (argc=2, argv=0x7fff5fbfeec8) at perl6.c:483629

(yes, that file wasn't intended for rakudo but parrot-nqp - but it still shouldn't segfault)

Change History

  Changed 4 years ago by nwellnhof

Works for me with Rakudo trunk.

  Changed 4 years ago by whiteknight

  • owner set to whiteknight

  Changed 4 years ago by jkeenan

  • component changed from none to core

Can we get an update on the status of this problem/ticket?

Thank you very much.

kid51

follow-up: ↓ 5   Changed 4 years ago by whiteknight

  • status changed from new to assigned
  • platform set to all
  • version changed from trunk to master

nwellnhof's report suggests it may not be a problem right now. Can anybody verify that this is or is not currently an issue?

in reply to: ↑ 4   Changed 4 years ago by coke

  • status changed from assigned to closed
  • resolution set to fixed

Replying to whiteknight:

nwellnhof's report suggests it may not be a problem right now. Can anybody verify that this is or is not currently an issue?

I can no longer duplicate the segfault. Closing ticket.

Note: See TracTickets for help on using tickets.