On Thu, Nov 29, 2007 at 06:17:57PM -0800, chromatic wrote:
> On Thursday 29 November 2007 18:05:32 Patrick R.Michaud wrote:
>
> > Yes, that subject line is correct -- I've found a bug
> > that shows itself _only_
> > - when I build Parrot using ccache,
> > - for one seemingly obscure json test,
> > - when running Parrot with the --gc-debug core (e.g., 'make test')
> > - for revisions after 23232
> ...
> Can you provide a backtrace that shows which dereference is invalid?
#0 0xb7cbe1ef in mark_vtables (interp=0x804f008) at src/vtables.c:193
#1 0xb7c75933 in Parrot_dod_trace_root (interp=0x804f008, trace_stack=1)
at src/gc/dod.c:303
#2 0xb7c75aa0 in trace_active_PMCs (interp=0x804f008, trace_stack=1)
at src/gc/dod.c:364
#3 0xb7c76800 in Parrot_dod_ms_run (interp=0x804f008, flags=1)
at src/gc/dod.c:1155
#4 0xb7c768f7 in Parrot_do_dod_run (interp=0x804f008, flags=1)
at src/gc/dod.c:1205
#5 0xb7c78762 in more_traceable_objects (interp=0x804f008, pool=0x806fb70)
at src/gc/smallobject.c:143
#6 0xb7c78806 in gc_ms_get_free_object (interp=0x804f008, pool=0x806fb70)
at src/gc/smallobject.c:198
#7 0xb7c7b42f in new_pmc_header (interp=0x804f008, flags=1024)
at src/headers.c:322
#8 0xb7cb16b9 in get_new_pmc_header (interp=0x804f008, base_type=71,
flags=1024) at src/pmc.c:251
#9 0xb7cb1393 in pmc_new (interp=0x804f008, base_type=71) at src/pmc.c:74
#10 0xb7e2fd0f in Parrot_NameSpace_nci_get_name (interp=0x804f008,
pmc=0x82dc120) at ./src/pmc/namespace.pmc:613
#11 0xb7e1366c in Parrot_Class_get_string (interp=0x804f008, pmc=0x82dadb8)
at ./src/pmc/class.pmc:602
#12 0xb7e1268c in init_class_from_hash (interp=0x804f008, self=0x82dadb8,
info=0x82dacf8) at ./src/pmc/class.pmc:284
#13 0xb7e13ab5 in Parrot_Class_init_pmc (interp=0x804f008, pmc=0x82dadb8,
init_data=0x82dadd0) at ./src/pmc/class.pmc:533
#14 0xb7cb18ad in pmc_new_init (interp=0x804f008, base_type=50, init=0x82dadd0)
at src/pmc.c:371
#15 0xb7c23eb2 in Parrot_newclass_p_sc (cur_opcode=0x8208298, interp=0x804f008)
at src/ops/object.ops:232
#16 0xb7cb22ea in runops_slow_core (interp=0x804f008, pc=0x8208298)
at src/runops_cores.c:223
#17 0xb7c82cb8 in runops_int (interp=0x804f008, offset=0)
at src/interpreter.c:887
#18 0xb7c836ae in runops (interp=0x804f008, offs=0) at src/inter_run.c:106
#19 0xb7c8393b in runops_args (interp=0x804f008, sub=0x82dc150, obj=0x8093720,
meth_unused=0x0, sig=0xb7ea602c "P", ap=0xbff3ed7c "\034xʷ \205 \b")
at src/inter_run.c:240
#20 0xb7c83a58 in Parrot_runops_fromc_args (interp=0x804f008, sub=0x82dc150,
sig=0xb7ea602c "P") at src/inter_run.c:317
#21 0xb7ca787e in run_sub (interp=0x804f008, sub_pmc=0x82dc150)
at src/packfile.c:469
#22 0xb7ca79ce in do_1_sub_pragma (interp=0x804f008, sub_pmc=0x82dc150,
action=2) at src/packfile.c:535
#23 0xb7ca7d14 in do_sub_pragmas (interp=0x804f008, self=0x82c4f20, action=2,
eval_pmc=0x0) at src/packfile.c:702
#24 0xb7cac423 in Parrot_load_bytecode (interp=0x804f008, file_str=0x805d080)
at src/packfile.c:3917
#25 0xb7c0f949 in Parrot_load_bytecode_sc (cur_opcode=0xb677d318,
interp=0x804f008) at src/ops/core.ops:150
#26 0xb7cb22ea in runops_slow_core (interp=0x804f008, pc=0xb677d318)
at src/runops_cores.c:223
#27 0xb7c82cb8 in runops_int (interp=0x804f008, offset=598)
at src/interpreter.c:887
#28 0xb7c836ae in runops (interp=0x804f008, offs=0) at src/inter_run.c:106
#29 0xb7c8393b in runops_args (interp=0x804f008, sub=0x81dd750, obj=0x8093720,
meth_unused=0x0, sig=0xb7ea0b0f "vP",
ap=0xbff3f00c
"8�\035\bH���`v��\230�\004\b8�\035\bP�\035\bD���H���\b�\004\b\001") at
src/inter_run.c:240
#30 0xb7c83a58 in Parrot_runops_fromc_args (interp=0x804f008, sub=0x81dd750,
sig=0xb7ea0b0f "vP") at src/inter_run.c:317
#31 0xb7c6cf86 in Parrot_runcode (interp=0x804f008, argc=1, argv=0xbff3f19c)
at src/embed.c:928
#32 0xb7e7b7b1 in imcc_run_pbc (interp=0x804f008, obj_file=0, output_file=0x0,
argc=1, argv=0xbff3f19c) at compilers/imcc/main.c:799
#33 0xb7e7c188 in imcc_run (interp=0x804f008,
sourcefile=0xbff40b64 "to_parrot_57.pir", argc=1, argv=0xbff3f19c)
at compilers/imcc/main.c:1086
#34 0x0804894d in main (argc=1, argv=0xbff3f19c) at src/main.c:62
Also, in case it matters, I'm on x86 (32-bit) for this.
Pm