#193: segfault using -t1
--------------------+-------------------------------------------------------
Reporter: coke | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: none | Version:
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
--------------------+-------------------------------------------------------
Initially reported by Matt Diephouse as {{{ ../../parrot -t1 tcl.pbc
2>file.trace}}}
I tried to whittle this down, and got this far:
{{{
.include 'languages/tcl/src/macros.pir'
.namespace [ 'TclExpr'; 'PIR'; 'Grammar' ]
.include 'languages/tcl/src/grammar/expr/past2pir.pir'
.cloneable()
.sub class_init :anon :load
.end
.sub set_string_native :vtable
.end
}}}
pulling out anything here, or including the .includes seems to make the
segfault go away. -G has no effect on the segfault.
Here's the backtrace:
{{{
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x025388ec
0x01175986 in Parrot_io_write_buffer (interp=0x244e990,
filehandle=0x7bb500, s=0x7d19d8) at src/io/buffer.c:653
653 memcpy(buffer_start, ((const char *)buffer + avail),
diff);
#0 0x01175986 in Parrot_io_write_buffer (interp=0x244e990,
filehandle=0x7bb500, s=0x7d19d8) at src/io/buffer.c:653
#1 0x0124e6db in Parrot_FileHandle_nci_puts (interp=0x244e990,
pmc=0x7a8db0) at ./src/pmc/filehandle.pmc:517
#2 0x011bca2f in Parrot_NCI_invoke (interp=0x244e990, pmc=0x7a8db0,
next=0x0) at ./src/pmc/nci.pmc:321
#3 0x01097d38 in Parrot_PCCINVOKE (interp=0x244e990, pmc=0x7bb500,
method_name=0x2804f14, signature=0x1311cf8 "S->I") at
src/inter_call.c:2716
#4 0x011734d8 in Parrot_io_putps (interp=0x244e990, pmc=0x7bb500,
s=0x7d19d8) at src/io/api.c:432
#5 0x010eb842 in trace_op_dump (interp=0x2406c40, code_start=0x25050f0,
pc=0x2505e0c) at src/trace.c:397
#6 0x010ebc75 in trace_op (interp=0x2406c40, code_start=0x25050f0,
code_end=0x2511b50, pc=0x2505e0c) at src/trace.c:480
#7 0x010df617 in runops_trace_core (interp=0x2406c40, pc=0x2505e0c) at
src/runops_cores.c:177
#8 0x010df72e in runops_slow_core (interp=0x2406c40, pc=0x250b578) at
src/runops_cores.c:215
#9 0x0109b98e in runops_int (interp=0x2406c40, offset=6434) at
src/interpreter.c:984
#10 0x0109c411 in runops (interp=0x2406c40, offs=6434) at
src/inter_run.c:108
#11 0x0109c6a5 in runops_args (interp=0x2406c40, sub=0x23fba88,
obj=0x283a8b0, meth_unused=0x0, sig=0x12fde4c "P", ap=0xbfffe56c "?P") at
src/inter_run.c:248
#12 0x0109d4d9 in Parrot_runops_fromc_args (interp=0x2406c40,
sub=0x23fba88, sig=0x12fde4c "P") at src/inter_run.c:315
#13 0x010d0489 in run_sub (interp=0x2406c40, sub_pmc=0x23fba88) at
src/packfile.c:627
#14 0x010d06d8 in do_1_sub_pragma (interp=0x2406c40, sub_pmc=0x23fba88,
action=PBC_LOADED) at src/packfile.c:689
#15 0x010d0bd6 in do_sub_pragmas (interp=0x2406c40, self=0x242fdd0,
action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:858
#16 0x010d7d38 in PackFile_append_pbc (interp=0x2406c40,
filename=0x242fbb0
"/Users/coke/research/parrot/runtime/parrot/library/PGE.pbc") at
src/packfile.c:4372
#17 0x010d7f0e in Parrot_load_bytecode (interp=0x2406c40,
file_str=0x763cf0) at src/packfile.c:4429
#18 0x0100ea70 in Parrot_load_bytecode_sc (cur_opcode=0x1e12c,
interp=0x2406c40) at src/ops/core.ops:151
#19 0x010df5d9 in runops_trace_core (interp=0x2406c40, pc=0x1e12c) at
src/runops_cores.c:176
#20 0x010df72e in runops_slow_core (interp=0x2406c40, pc=0x1e0f0) at
src/runops_cores.c:215
#21 0x0109b98e in runops_int (interp=0x2406c40, offset=0) at
src/interpreter.c:984
#22 0x0109c411 in runops (interp=0x2406c40, offs=0) at src/inter_run.c:108
#23 0x0109c6a5 in runops_args (interp=0x2406c40, sub=0x736f78,
obj=0x283a8b0, meth_unused=0x0, sig=0x12fde4c "P", ap=0xbfffe8dc "?P") at
src/inter_run.c:248
#24 0x0109d4d9 in Parrot_runops_fromc_args (interp=0x2406c40,
sub=0x736f78, sig=0x12fde4c "P") at src/inter_run.c:315
#25 0x010d0489 in run_sub (interp=0x2406c40, sub_pmc=0x736f78) at
src/packfile.c:627
#26 0x010d06d8 in do_1_sub_pragma (interp=0x2406c40, sub_pmc=0x736f78,
action=PBC_LOADED) at src/packfile.c:689
#27 0x010d0bd6 in do_sub_pragmas (interp=0x2406c40, self=0x2435560,
action=PBC_LOADED, eval_pmc=0x0) at src/packfile.c:858
#28 0x010d7d38 in PackFile_append_pbc (interp=0x2406c40,
filename=0x2435340
"/Users/coke/research/parrot/runtime/parrot/library/TGE.pbc") at
src/packfile.c:4372
#29 0x010d7f0e in Parrot_load_bytecode (interp=0x2406c40,
file_str=0x76585c) at src/packfile.c:4429
#30 0x0100ea70 in Parrot_load_bytecode_sc (cur_opcode=0x2854a00,
interp=0x2406c40) at src/ops/core.ops:151#31 0x010df5d9 in
runops_trace_core (interp=0x2406c40, pc=0x2854a00) at
src/runops_cores.c:176
#32 0x010df72e in runops_slow_core (interp=0x2406c40, pc=0x2854a00) at
src/runops_cores.c:215#33 0x0109b98e in runops_int (interp=0x2406c40,
offset=0) at src/interpreter.c:984
#34 0x0109c411 in runops (interp=0x2406c40, offs=0) at
src/inter_run.c:108#35 0x0109c6a5 in runops_args (interp=0x2406c40,
sub=0x737410, obj=0x283a8b0, meth_unused=0x0, sig=0x12fde4c "P",
ap=0xbfffec4c "?~C") at src/inter_run.c:248#36 0x0109d4d9 in
Parrot_runops_fromc_args (interp=0x2406c40, sub=0x737410, sig=0x12fde4c
"P") at src/inter_run.c:315
#37 0x010d0489 in run_sub (interp=0x2406c40, sub_pmc=0x737410) at
src/packfile.c:627#38 0x010d0862 in do_1_sub_pragma (interp=0x2406c40,
sub_pmc=0x737410, action=PBC_MAIN) at src/packfile.c:720#39 0x010d0bd6 in
do_sub_pragmas (interp=0x2406c40, self=0x241f660, action=PBC_MAIN,
eval_pmc=0x0) at src/packfile.c:858
#40 0x010d803d in PackFile_fixup_subs (interp=0x2406c40, what=PBC_MAIN,
eval=0x0) at src/packfile.c:4467
#41 0x012e4b06 in imcc_run_pbc (interp=0x2406c40, obj_file=0,
output_file=0x0, argc=1, argv=0xbfffee94) at compilers/imcc/main.c:821#42
0x012e57af in imcc_run (interp=0x2406c40, sourcefile=0xbfffef73
"boom.pir", argc=1, argv=0xbfffee94) at compilers/imcc/main.c:1116#43
0x00002cb8 in main (argc=1, argv=0xbfffee94) at src/main.c:61
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/193>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets