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