#966: segfault in Parrot_string_mark
-------------------+--------------------------------------------------------
Reporter: coke | Owner:
Type: bug | Status: new
Priority: major | Milestone:
Component: core | Version: trunk
Severity: fatal | Keywords:
Lang: tcl | Patch:
Platform: |
-------------------+--------------------------------------------------------
Description changed by coke:
Old description:
> With parrot r40897 and partcl r658;
>
> running parrot tcl.pbc t_tcl/obj.test (need to run "make t_tcl" first to
> checkout the test files),
>
> Looks like a loop:
>
> {{{
> #0 0xb7e4087c in Parrot_String_mark (interp=0x804f040, pmc=0xb6e4c248)
> at ./src/pmc/string.c:540
> #1 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4c248) at
> src/gc/mark_sweep.c:472
> #2 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #3 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e4abe0) at ./src/pmc/fixedpmcarray.pmc:786
> #4 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4abe0) at
> src/gc/mark_sweep.c:472
> #5 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #6 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e4ac28) at ./src/pmc/fixedpmcarray.pmc:786
> #7 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4ac28) at
> src/gc/mark_sweep.c:472
> #8 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #9 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e4ac40)
> at ./src/pmc/object.pmc:196
> #10 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4ac40) at
> src/gc/mark_sweep.c:472
> #11 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #12 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e49338) at ./src/pmc/fixedpmcarray.pmc:786
> #13 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49338) at
> src/gc/mark_sweep.c:472
> #14 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #15 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e49380) at ./src/pmc/fixedpmcarray.pmc:786
> #16 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49380) at
> src/gc/mark_sweep.c:472
> #17 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #18 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e49398)
> at ./src/pmc/object.pmc:196
> #19 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49398) at
> src/gc/mark_sweep.c:472
> #20 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148)
> #21 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e47ac0) at ./src/pmc/fixedpmcarray.pmc:786
> #22 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47ac0) at
> src/gc/mark_sweep.c:472
> #23 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #24 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e47b20) at ./src/pmc/fixedpmcarray.pmc:786
> #25 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47b20) at
> src/gc/mark_sweep.c:472
> #26 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #27 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e47b38)
> at ./src/pmc/object.pmc:196
> #28 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47b38) at
> src/gc/mark_sweep.c:472
> #29 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #30 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e461d0) at ./src/pmc/fixedpmcarray.pmc:786
> #31 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e461d0) at
> src/gc/mark_sweep.c:472
> #32 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #33 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e46218) at ./src/pmc/fixedpmcarray.pmc:786
> #34 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e46218) at
> src/gc/mark_sweep.c:472
> #35 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #36 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e46230)
> at ./src/pmc/object.pmc:196
> #37 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e46230) at
> src/gc/mark_sweep.c:472
> #38 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #39 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e44790) at ./src/pmc/fixedpmcarray.pmc:786
> #40 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e44790) at
> src/gc/mark_sweep.c:472
> #41 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #42 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e447f0) at ./src/pmc/fixedpmcarray.pmc:786
> #43 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e447f0) at
> src/gc/mark_sweep.c:472
> #44 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #45 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e44808)
> at ./src/pmc/object.pmc:196
> #46 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e44808) at
> src/gc/mark_sweep.c:472
> #47 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #48 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e430f8) at ./src/pmc/fixedpmcarray.pmc:786
> #49 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e430f8) at
> src/gc/mark_sweep.c:472
> #50 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #51 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e43140) at ./src/pmc/fixedpmcarray.pmc:786
> #52 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e43140) at
> src/gc/mark_sweep.c:472
> #53 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #54 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e43158)
> at ./src/pmc/object.pmc:196
> #55 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e43158) at
> src/gc/mark_sweep.c:472
> #56 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #57 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e418e0) at ./src/pmc/fixedpmcarray.pmc:786
> #58 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e418e0) at
> src/gc/mark_sweep.c:472
> #59 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
> obj=0x804f148) at src/gc/api.c:230
> #60 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
> pmc=0xb6e41988) at ./src/pmc/fixedpmcarray.pmc:786
> #61 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e41988)
> .... <SNIP>
>
> }}}
New description:
With parrot r40897 and partcl r658;
running parrot tcl.pbc t_tcl/obj.test (need to run "make spectest" first
to checkout the test files - you can kill it once it actually starts
running tests.),
Looks like a loop:
{{{
#0 0xb7e4087c in Parrot_String_mark (interp=0x804f040, pmc=0xb6e4c248)
at ./src/pmc/string.c:540
#1 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4c248) at
src/gc/mark_sweep.c:472
#2 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#3 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e4abe0) at ./src/pmc/fixedpmcarray.pmc:786
#4 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4abe0) at
src/gc/mark_sweep.c:472
#5 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#6 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e4ac28) at ./src/pmc/fixedpmcarray.pmc:786
#7 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4ac28) at
src/gc/mark_sweep.c:472
#8 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#9 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e4ac40)
at ./src/pmc/object.pmc:196
#10 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e4ac40) at
src/gc/mark_sweep.c:472
#11 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#12 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e49338) at ./src/pmc/fixedpmcarray.pmc:786
#13 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49338) at
src/gc/mark_sweep.c:472
#14 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#15 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e49380) at ./src/pmc/fixedpmcarray.pmc:786
#16 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49380) at
src/gc/mark_sweep.c:472
#17 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#18 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e49398)
at ./src/pmc/object.pmc:196
#19 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e49398) at
src/gc/mark_sweep.c:472
#20 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148)
#21 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e47ac0) at ./src/pmc/fixedpmcarray.pmc:786
#22 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47ac0) at
src/gc/mark_sweep.c:472
#23 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#24 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e47b20) at ./src/pmc/fixedpmcarray.pmc:786
#25 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47b20) at
src/gc/mark_sweep.c:472
#26 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#27 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e47b38)
at ./src/pmc/object.pmc:196
#28 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e47b38) at
src/gc/mark_sweep.c:472
#29 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#30 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e461d0) at ./src/pmc/fixedpmcarray.pmc:786
#31 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e461d0) at
src/gc/mark_sweep.c:472
#32 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#33 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e46218) at ./src/pmc/fixedpmcarray.pmc:786
#34 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e46218) at
src/gc/mark_sweep.c:472
#35 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#36 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e46230)
at ./src/pmc/object.pmc:196
#37 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e46230) at
src/gc/mark_sweep.c:472
#38 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#39 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e44790) at ./src/pmc/fixedpmcarray.pmc:786
#40 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e44790) at
src/gc/mark_sweep.c:472
#41 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#42 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e447f0) at ./src/pmc/fixedpmcarray.pmc:786
#43 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e447f0) at
src/gc/mark_sweep.c:472
#44 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#45 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e44808)
at ./src/pmc/object.pmc:196
#46 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e44808) at
src/gc/mark_sweep.c:472
#47 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#48 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e430f8) at ./src/pmc/fixedpmcarray.pmc:786
#49 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e430f8) at
src/gc/mark_sweep.c:472
#50 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#51 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e43140) at ./src/pmc/fixedpmcarray.pmc:786
#52 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e43140) at
src/gc/mark_sweep.c:472
#53 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#54 0xb7e830ac in Parrot_Object_mark (interp=0x804f040, pmc=0xb6e43158)
at ./src/pmc/object.pmc:196
#55 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e43158) at
src/gc/mark_sweep.c:472
#56 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#57 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e418e0) at ./src/pmc/fixedpmcarray.pmc:786
#58 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e418e0) at
src/gc/mark_sweep.c:472
#59 0xb7d42aa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040,
obj=0x804f148) at src/gc/api.c:230
#60 0xb7e67ee5 in Parrot_FixedPMCArray_mark (interp=0x804f040,
pmc=0xb6e41988) at ./src/pmc/fixedpmcarray.pmc:786
#61 0xb7d43a7a in mark_special (interp=0x804f040, obj=0xb6e41988)
.... <SNIP>
}}}
--
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/966#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets