Ticket #960 (new bug) — at Initial Version
segfaults in Parrot_String_mark
Reported by: | coke | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | GC | Version: | trunk |
Severity: | fatal | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
With parrot: r40853, and partcl r648, I'm seeing a lot of segfaults with a backtrace resembling this one:
#0 0xb7ec981c in Parrot_String_mark (interp=0x804f040, pmc=0xb6b0f040)
at ./src/pmc/string.pmc:77
#1 0xb7dcca7a in mark_special (interp=0x804f040, obj=0xb6b0f040)
at src/gc/mark_sweep.c:472
#2 0xb7dcbaa7 in Parrot_gc_mark_PObj_alive (interp=0x804f040, obj=0x804f148)
at src/gc/api.c:230
#3 0xb7dcd94a in trace_system_areas (interp=0x804f040) at src/gc/system.c:457 #4 0xb7dcd648 in Parrot_gc_trace_root (interp=0x804f040, trace=GC_TRACE_FULL)
at src/gc/mark_sweep.c:244
#5 0xb7dcc6c4 in gc_ms_mark_and_sweep (interp=0x804f040,
flags=<value optimized out>) at src/gc/gc_ms.c:255
#6 0xb7dcb3fa in Parrot_gc_mark_and_sweep (interp=0x804f040, flags=1)
at src/gc/api.c:792
#7 0xb7dcc358 in gc_ms_more_traceable_objects (interp=0x804f040,
pool=0x806f300) at src/gc/gc_ms.c:344
#8 0xb7dcc51d in gc_ms_get_free_object (interp=0x804f040, pool=0x806f300)
at src/gc/gc_ms.c:409
#9 0xb7dcb83b in Parrot_gc_new_pmc_header (interp=0x804f040, flags=0)
at src/gc/api.c:329
#10 0xb7debce7 in get_new_pmc_header (interp=0x804f040, base_type=82,
flags=134541640) at src/pmc.c:472
#11 0xb7dec000 in pmc_new (interp=0x804f040, base_type=68420096)
at src/pmc.c:169
#12 0xb7f182fe in Parrot_PMCProxy_instantiate (interp=0x804f040,
pmc=0x8264710, init=0x4140200) at ./src/pmc/pmcproxy.pmc:199
#13 0xb7d9657e in Parrot_new_p_sc (cur_opcode=0xb6c5deb8, interp=0x804f040)
at src/ops/pmc.ops:57
#14 0xb7dedd52 in runops_slow_core (interp=0x804f040, pc=0xb6c5deb8)
at src/runcore/cores.c:462
#15 0xb7decfef in runops_int (interp=0x804f040, offset=7014)
at src/runcore/main.c:987
#16 0xb7dd53c2 in runops (interp=0x804f040, offs=7014) at src/call/ops.c:119 #17 0xb7dd1515 in Parrot_pcc_invoke_from_sig_object (interp=0x804f040,
sub_obj=0x81ae1a0, sig_obj=0xb6b08218) at src/call/pcc.c:3025
#18 0xb7ee2f90 in Parrot_Class_instantiate (interp=0x804f040, pmc=0x8157ce8,
init=0x80b0bd0) at ./src/pmc/class.pmc:350
#19 0xb7d94dbe in Parrot_new_p_pc (cur_opcode=0xb6c5e818, interp=0x804f040)
at src/ops/pmc.ops:93
#20 0xb7dedd52 in runops_slow_core (interp=0x804f040, pc=0xb6c5e818)
at src/runcore/cores.c:462
#21 0xb7decfef in runops_int (interp=0x804f040, offset=4220)
at src/runcore/main.c:987
#22 0xb7dd53c2 in runops (interp=0x804f040, offs=4220) at src/call/ops.c:119 #23 0xb7dd1515 in Parrot_pcc_invoke_from_sig_object (interp=0x804f040,
sub_obj=0x8105570, sig_obj=0xb6b08380) at src/call/pcc.c:3025
#24 0xb7ee2f90 in Parrot_Class_instantiate (interp=0x804f040, pmc=0x8155c90,
init=0x80b0bd0) at ./src/pmc/class.pmc:350
#25 0xb7d94dbe in Parrot_new_p_pc (cur_opcode=0xb6f6f220, interp=0x804f040)
at src/ops/pmc.ops:93
#26 0xb7dedd52 in runops_slow_core (interp=0x804f040, pc=0xb6f6f220)
at src/runcore/cores.c:462
#27 0xb7decfef in runops_int (interp=0x804f040, offset=7406)
at src/runcore/main.c:987
#28 0xb7dd53c2 in runops (interp=0x804f040, offs=3) at src/call/ops.c:119 #29 0xb7dd5549 in runops_args (interp=0x804f040, sub=0x80c29b8, obj=0x80b0bd0,
meth_unused=0x0, sig=0xb7f51f75 "vP", ap=0xbfecb09c "\030-\f\b") at src/call/ops.c:269
#30 0xb7dd5cf8 in Parrot_runops_fromc_args (interp=0x804f040, sub=0x80c29b8,
sig=0xb7f51f75 "vP") at src/call/ops.c:338
#31 0xb7dbf288 in Parrot_runcode (interp=0x804f040, argc=2, argv=0xbfecb208)
at src/embed.c:983
#32 0xb7f3ee4f in imcc_run (interp=0x804f040, sourcefile=0xbfecc46f "tcl.pbc",
argc=2, argv=0xbfecb208) at compilers/imcc/main.c:801
#33 0x08048955 in main (argc=2, argv=0xbfecb208) at src/main.c:60 }}}
This particular backtrace comes from "parrot tcl.pbc t_tcl/basic.test", and occurs for me on feather with an optimized parrot after running test 'basic-46.5'.