On Mon Apr 21 23:55:10 2008, [EMAIL PROTECTED] wrote: > chunk should never be 0x11. Does this patch fix things for you?
Lets the build complete, but a similar crash (similar stack frames, different addresses) occurs when running t/op/sprintf.t when subtest 174 is reached. > If not, you might set a watchpoint on cc->dynamic_state to see when it > gets > set to 0x11, as that'll show where we have a pointer go awry. (I fear > that > it may be one of the PMC_int_val( xxx )++ or -- bits in stack_push or > stack_pop.) I'll see if I can find when it gets set to 0x3. Stack trace with patch: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x0000000b 0x0069092c in pobject_lives (interp=0x1709ce0, obj=0x3) at src/gc/dod.c:190 190 if (PObj_is_live_or_free_TESTALL(obj)) (gdb) bt #0 0x0069092c in pobject_lives (interp=0x1709ce0, obj=0x3) at src/gc/dod.c:190 #1 0x006e09dc in mark_stack (interp=0x1709ce0, chunk=0x3) at src/stacks.c:66 #2 0x00850380 in Parrot_Continuation_mark (interp=0x1709ce0, pmc=0x21131e0) at continuation.pmc:89 #3 0x00690fac in Parrot_dod_trace_children (interp=0x1709ce0, how_many=4294966673) at src/gc/dod.c:440 #4 0x00690d4c in trace_active_PMCs (interp=0x1709ce0, trace_stack=1) at src/gc/dod.c:373 #5 0x00691f90 in Parrot_dod_ms_run (interp=0x1709ce0, flags=1) at src/gc/dod.c:1130 #6 0x006920c0 in Parrot_do_dod_run (interp=0x1709ce0, flags=1) at src/gc/dod.c:1179 #7 0x00694b78 in more_traceable_objects (interp=0x1709ce0, pool=0x170a050) at src/gc/smallobject.c:144 #8 0x00694c80 in gc_ms_get_free_object (interp=0x1709ce0, pool=0x170a050) at src/gc/smallobject.c:195 #9 0x00698e40 in new_pmc_header (interp=0x1709ce0, flags=1024) at src/headers.c:309 #10 0x006db5f4 in get_new_pmc_header (interp=0x1709ce0, base_type=21, flags=1024) at src/pmc.c:244 #11 0x006db160 in pmc_new (interp=0x1709ce0, base_type=21) at src/pmc.c:69 #12 0x006e6938 in new_ret_continuation_pmc (interp=0x1709ce0, address=0x1858b20) at src/sub.c:242 #13 0x0084a39c in Parrot_Sub_invoke (interp=0x1709ce0, pmc=0x209f500, next=0x1858b20) at sub.pmc:239 #14 0x0061adcc in Parrot_callmethodcc_p_sc (cur_opcode=0x1858b14, interp=0x1709ce0) at object.ops:78 #15 0x006dc684 in runops_slow_core (interp=0x1709ce0, pc=0x1858b14) at src/runops_cores.c:219 #16 0x006a33d4 in runops_int (interp=0x1709ce0, offset=353) at src/interpreter.c:916 #17 0x006a408c in runops (interp=0x1709ce0, offs=0) at src/inter_run.c:104 #18 0x006a43ac in runops_args (interp=0x1709ce0, sub=0x209f860, obj=0x1838e80, meth_unused=0x0, sig=0x9721ac "vP", ap=0xbffff444 "\002\t???\0259𠵛H\001?~") at src/inter_run.c:230 #19 0x006a4550 in Parrot_runops_fromc_args (interp=0x1709ce0, sub=0x209f860, sig=0x9721ac "vP") at src/inter_run.c:299 #20 0x00683d54 in Parrot_runcode (interp=0x1709ce0, argc=1, argv=0xbffff5fc) at src/embed.c:941 #21 0x00947668 in imcc_run_pbc (interp=0x1709ce0, obj_file=0, output_file=0x0, argc=1, argv=0xbffff5fc) at compilers/imcc/main.c:781 #22 0x009480fc in imcc_run (interp=0x1709ce0, sourcefile=0xbffff6e3 "t/op/sprintf.t", argc=1, argv=0xbffff5fc) at compilers/imcc/main.c:1069 #23 0x000020e8 in main (argc=1, argv=0xbffff5fc) at src/main.c:61