#1393: t/compilers/pge/pge_examples.t:  PASS by itself, FAIL during 'make smoke'
---------------------+------------------------------------------------------
 Reporter:  jkeenan  |       Owner:       
     Type:  bug      |      Status:  new  
 Priority:  major    |   Milestone:       
Component:  testing  |     Version:  1.9.0
 Severity:  high     |    Keywords:       
     Lang:           |       Patch:       
 Platform:           |  
---------------------+------------------------------------------------------
Changes (by Util):

 * cc: Util (added)


Comment:

 On Darwin 10.5, part of the PGE build has been intermittently failing for
 several revisions.
 Because the failure occur at the same place (src/gc/api.c:245) as the
 failures already discussed in this ticket, and since I have traced the
 problem to the same revision (r43211), I am appending to this ticket
 instead of opening a new ticket.

 Tested with r43482.

 {{{
 ./parrot --runcore=gcdebug runtime/parrot/library/PGE/Perl6Grammar.pir
 --output=builtins_gen_DUMMY.pir compilers/pge/PGE/builtins.pg
 }}}
 This is the actual command from the normal build, with `--runcore=gcdebug`
 added, paths adjusted, and the output filename changes to prevent `make`
 rebuilds.
 The command works correctly without `--runcore=gcdebug`, and the output
 file `./builtins_gen_DUMMY.pir` matches the real
 `compilers/pge/PGE/builtins_gen.pir` produced during the real build.

 With `--runcore=gcdebug`, produces this failure:
 {{{
 src/gc/api.c:245: failed assertion 'PObj_is_PMC_TEST(obj)'
 Backtrace - Obtained 32 stack frames (max trace depth is 32).
 0   libparrot.dylib                     0x0048fe7d Parrot_do_check_events
 + 173
 1   libparrot.dylib                     0x0048ffe7 Parrot_confess + 151
 2   libparrot.dylib                     0x0049d487
 Parrot_gc_mark_PMC_alive_fun + 135
 3   libparrot.dylib                     0x00631e28
 Parrot_ArrayIterator_get_isa + 14824
 4   libparrot.dylib                     0x0049d517
 Parrot_gc_mark_PMC_alive_fun + 279
 5   libparrot.dylib                     0x00632050
 Parrot_ArrayIterator_get_isa + 15376
 6   libparrot.dylib                     0x0049d517
 Parrot_gc_mark_PMC_alive_fun + 279
 7   libparrot.dylib                     0x004a0e8e
 Parrot_is_blocked_GC_sweep + 5374
 8   libparrot.dylib                     0x004a00d3
 Parrot_is_blocked_GC_sweep + 1859
 9   libparrot.dylib                     0x004a0215
 Parrot_is_blocked_GC_sweep + 2181
 10  libparrot.dylib                     0x0049e573
 Parrot_gc_mark_STRING_alive_fun + 3811
 11  libparrot.dylib                     0x0050a4df enable_event_checking +
 3711
 12  libparrot.dylib                     0x00508d1a Parrot_runcore_switch +
 3978
 13  libparrot.dylib                     0x004b2ee8 new_runloop_jump_point
 + 392
 14  libparrot.dylib                     0x004a900c
 Parrot_pcc_invoke_from_sig_object + 428
 15  libparrot.dylib                     0x004a9400
 Parrot_pcc_invoke_sub_from_c_args + 208
 16  libparrot.dylib                     0x004fb359 Parrot_ComposeRole +
 3385
 17  libparrot.dylib                     0x004fb524 Parrot_ComposeRole +
 3844
 18  libparrot.dylib                     0x004fb904 do_sub_pragmas + 388
 19  libparrot.dylib                     0x00502a88
 PackFile_Annotations_add_entry + 2184
 20  libparrot.dylib                     0x00502ba9
 PackFile_Annotations_add_entry + 2473
 21  libparrot.dylib                     0x00503223 Parrot_load_bytecode +
 515
 22  libparrot.dylib                     0x003ff2f5 Parrot_str_from_int +
 917
 23  libparrot.dylib                     0x0050a51c enable_event_checking +
 3772
 24  libparrot.dylib                     0x00508d1a Parrot_runcore_switch +
 3978
 25  libparrot.dylib                     0x004b2ee8 new_runloop_jump_point
 + 392
 26  libparrot.dylib                     0x004a900c
 Parrot_pcc_invoke_from_sig_object + 428
 27  libparrot.dylib                     0x004a9400
 Parrot_pcc_invoke_sub_from_c_args + 208
 28  libparrot.dylib                     0x004fb359 Parrot_ComposeRole +
 3385
 29  libparrot.dylib                     0x004fb60a Parrot_ComposeRole +
 4074
 30  libparrot.dylib                     0x004fb904 do_sub_pragmas + 388
 31  libparrot.dylib                     0x005032a7 PackFile_fixup_subs +
 119
 Abort trap
 }}}

 Running under `gdb`:
 {{{
 ~/Perl/Parrot/Release_20_test/parrot $ gdb ./parrot
 GNU gdb 6.3.50-20050815 (Apple version gdb-967) (Tue Jul 14 02:11:58 UTC
 2009)
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you
 are
 welcome to change it and/or distribute copies of it under certain
 conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for
 details.
 This GDB was configured as "i386-apple-darwin"...Reading symbols for
 shared libraries ........... done

 (gdb) run --runcore=gcdebug runtime/parrot/library/PGE/Perl6Grammar.pir
 --output=builtins_gen_DUMMY.pir compilers/pge/PGE/builtins.pg
 Starting program: /Users/bruce/Perl/Parrot/Release_20_test/parrot/parrot
 --runcore=gcdebug runtime/parrot/library/PGE/Perl6Grammar.pir
 --output=builtins_gen_DUMMY.pir compilers/pge/PGE/builtins.pg
 Reading symbols for shared libraries ++++++++++......... done
 src/gc/api.c:245: failed assertion 'PObj_is_PMC_TEST(obj)'
 Backtrace - Obtained 32 stack frames (max trace depth is 32).
 0   libparrot.dylib                     0x0048fe7d Parrot_do_check_events
 + 173
 1   libparrot.dylib                     0x0048ffe7 Parrot_confess + 151
 2   libparrot.dylib                     0x0049d487
 Parrot_gc_mark_PMC_alive_fun + 135
 3   libparrot.dylib                     0x00631e28
 Parrot_ArrayIterator_get_isa + 14824
 4   libparrot.dylib                     0x0049d517
 Parrot_gc_mark_PMC_alive_fun + 279
 5   libparrot.dylib                     0x00632050
 Parrot_ArrayIterator_get_isa + 15376
 6   libparrot.dylib                     0x0049d517
 Parrot_gc_mark_PMC_alive_fun + 279
 7   libparrot.dylib                     0x004a0e8e
 Parrot_is_blocked_GC_sweep + 5374
 8   libparrot.dylib                     0x004a00d3
 Parrot_is_blocked_GC_sweep + 1859
 9   libparrot.dylib                     0x004a0215
 Parrot_is_blocked_GC_sweep + 2181
 10  libparrot.dylib                     0x0049e573
 Parrot_gc_mark_STRING_alive_fun + 3811
 11  libparrot.dylib                     0x0050a4df enable_event_checking +
 3711
 12  libparrot.dylib                     0x00508d1a Parrot_runcore_switch +
 3978
 13  libparrot.dylib                     0x004b2ee8 new_runloop_jump_point
 + 392
 14  libparrot.dylib                     0x004a900c
 Parrot_pcc_invoke_from_sig_object + 428
 15  libparrot.dylib                     0x004a9400
 Parrot_pcc_invoke_sub_from_c_args + 208
 16  libparrot.dylib                     0x004fb359 Parrot_ComposeRole +
 3385
 17  libparrot.dylib                     0x004fb524 Parrot_ComposeRole +
 3844
 18  libparrot.dylib                     0x004fb904 do_sub_pragmas + 388
 19  libparrot.dylib                     0x00502a88
 PackFile_Annotations_add_entry + 2184
 20  libparrot.dylib                     0x00502ba9
 PackFile_Annotations_add_entry + 2473
 21  libparrot.dylib                     0x00503223 Parrot_load_bytecode +
 515
 22  libparrot.dylib                     0x003ff2f5 Parrot_str_from_int +
 917
 23  libparrot.dylib                     0x0050a51c enable_event_checking +
 3772
 24  libparrot.dylib                     0x00508d1a Parrot_runcore_switch +
 3978
 25  libparrot.dylib                     0x004b2ee8 new_runloop_jump_point
 + 392
 26  libparrot.dylib                     0x004a900c
 Parrot_pcc_invoke_from_sig_object + 428
 27  libparrot.dylib                     0x004a9400
 Parrot_pcc_invoke_sub_from_c_args + 208
 28  libparrot.dylib                     0x004fb359 Parrot_ComposeRole +
 3385
 29  libparrot.dylib                     0x004fb60a Parrot_ComposeRole +
 4074
 30  libparrot.dylib                     0x004fb904 do_sub_pragmas + 388
 31  libparrot.dylib                     0x005032a7 PackFile_fixup_subs +
 119

 Program received signal SIGABRT, Aborted.
 0x94e82e42 in __kill ()
 (gdb) bt
 #0  0x94e82e42 in __kill ()
 #1  0x94e82e34 in kill$UNIX2003 ()
 #2  0x94ef523a in raise ()
 #3  0x94f01679 in abort ()
 #4  0x0048ffec in Parrot_confess (cond=0x6ca290 "PObj_is_PMC_TEST(obj)",
 file=0x6ca280 "src/gc/api.c", line=245) at src/exceptions.c:553
 #5  0x0049d487 in Parrot_gc_mark_PMC_alive_fun (interp=0x901900,
 obj=0xa0def0) at src/gc/api.c:245
 #6  0x00631e28 in Parrot_CallContext_mark (interp=0x901900, pmc=0xa0df04)
 at callcontext.pmc:519
 #7  0x0049d517 in Parrot_gc_mark_PMC_alive_fun (interp=0x901900,
 obj=0xa0df04) at src/gc/api.c:264
 #8  0x00632050 in Parrot_CallContext_mark (interp=0x901900, pmc=0xb606cc)
 at callcontext.pmc:531
 #9  0x0049d517 in Parrot_gc_mark_PMC_alive_fun (interp=0x901900,
 obj=0xb606cc) at src/gc/api.c:264
 #10 0x004a0e8e in Parrot_gc_trace_root (interp=0x901900,
 trace=GC_TRACE_FULL) at src/gc/mark_sweep.c:199
 #11 0x004a00d3 in gc_ms_trace_active_PMCs (interp=0x901900,
 trace=GC_TRACE_FULL) at src/gc/gc_ms.c:254
 #12 0x004a0215 in gc_ms_mark_and_sweep (interp=0x901900, flags=1) at
 src/gc/gc_ms.c:177
 #13 0x0049e573 in Parrot_gc_mark_and_sweep (interp=0x901900, flags=1) at
 src/gc/api.c:842
 #14 0x0050a4df in runops_gc_debug_core (interp=0x901900, runcore=0x90b750,
 pc=0xa4b124) at src/runcore/cores.c:879
 #15 0x00508d1a in runops_int (interp=0x901900, offset=0) at
 src/runcore/main.c:546
 #16 0x004b2ee8 in runops (interp=0x901900, offs=0) at src/call/ops.c:99
 #17 0x004a900c in Parrot_pcc_invoke_from_sig_object (interp=0x901900,
 sub_obj=0xa095e4, call_object=0xb606cc) at src/call/pcc.c:314
 #18 0x004a9400 in Parrot_pcc_invoke_sub_from_c_args (interp=0x901900,
 sub_obj=0xa095e4, sig=0x6cc840 "->P") at src/call/pcc.c:75
 #19 0x004fb359 in run_sub (interp=0x901900, sub_pmc=0xa095e4) at
 src/packfile.c:684
 #20 0x004fb524 in do_1_sub_pragma (interp=0x901900, sub_pmc=0xa095e4,
 action=PBC_LOADED) at src/packfile.c:746
 #21 0x004fb904 in do_sub_pragmas (interp=0x901900, self=0x903480,
 action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:936
 #22 0x00502a88 in PackFile_append_pbc (interp=0x901900, filename=0x90b630
 
"/Users/bruce/Perl/Parrot/Release_20_test/parrot/runtime/parrot/library/PGE.pbc")
 at src/packfile.c:4829
 #23 0x00502ba9 in compile_or_load_file (interp=0x901900, path=0xa18350,
 file_type=PARROT_RUNTIME_FT_PBC) at src/packfile.c:4698
 #24 0x00503223 in Parrot_load_bytecode (interp=0x901900,
 file_str=0x8f66f4) at src/packfile.c:4895
 #25 0x003ff2f5 in Parrot_load_bytecode_sc (cur_opcode=0x2053660,
 interp=0x901900) at core.ops:167
 #26 0x0050a51c in runops_gc_debug_core (interp=0x901900, runcore=0x90b750,
 pc=0x2053660) at src/runcore/cores.c:882
 #27 0x00508d1a in runops_int (interp=0x901900, offset=24) at
 src/runcore/main.c:546
 #28 0x004b2ee8 in runops (interp=0x901900, offs=24) at src/call/ops.c:99
 #29 0x004a900c in Parrot_pcc_invoke_from_sig_object (interp=0x901900,
 sub_obj=0xa0bce0, call_object=0xa0bd80) at src/call/pcc.c:314
 #30 0x004a9400 in Parrot_pcc_invoke_sub_from_c_args (interp=0x901900,
 sub_obj=0xa0bce0, sig=0x6cc840 "->P") at src/call/pcc.c:75
 #31 0x004fb359 in run_sub (interp=0x901900, sub_pmc=0xa0bce0) at
 src/packfile.c:684
 #32 0x004fb60a in do_1_sub_pragma (interp=0x901900, sub_pmc=0xa0bce0,
 action=PBC_MAIN) at src/packfile.c:776
 #33 0x004fb904 in do_sub_pragmas (interp=0x901900, self=0x90be30,
 action=PBC_MAIN, eval_pmc=0x0) at src/packfile.c:936
 #34 0x005032a7 in PackFile_fixup_subs (interp=0x901900, what=PBC_MAIN,
 eval=0x0) at src/packfile.c:4918
 #35 0x006a1364 in imcc_run_pbc (interp=0x901900, obj_file=0,
 output_file=0x0, argc=3, argv=0xbffff5d4) at compilers/imcc/main.c:790
 #36 0x006a2019 in imcc_run (interp=0x901900, sourcefile=0xbffff6d5
 "runtime/parrot/library/PGE/Perl6Grammar.pir", argc=3, argv=0xbffff5d4) at
 compilers/imcc/main.c:1075
 #37 0x00002399 in main (argc=3, argv=0xbffff5d4) at src/main.c:60
 (gdb)

 }}}

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1393#comment:32>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to