#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