# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #51136]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=51136 >


As of r26037, tcl is once again generating a segfault (even on
feather!). The change in 26037 was to replace a morph + assign with
the 'copy' opcode.

To trigger it, run:

../../parrot tcl.pbc t/cmd_lassign.t

Oddly, the backtrace is slightly different on feather and my os x intel box.

Feather:

(gdb) bt#0  0xb7dd529f in Parrot_Object_morph (interp=0x804f008,
pmc=0xb6b04120,     type=133) at ./src/pmc/object.c:2557
#1  0xb7b96e91 in Parrot_copy_p_p (cur_opcode=0xb6c9f00c,
interp=0x804f008)    at src/ops/set.ops:553
#2  0xb7c21d64 in runops_slow_core (interp=0x804f008, pc=0xb6c9f00c)
 at src/runops_cores.c:213
#3  0xb7bedac6 in runops_int (interp=0x804f008, offset=3308)    at
src/interpreter.c:878
#4  0xb7bee407 in runops (interp=0x804f008, offs=3) at src/inter_run.c:104
#5  0xb7bee696 in runops_args (interp=0x804f008, sub=0x826f170,
obj=0x80937b8,     meth_unused=0x0, sig=0xb7e46cc3 "vP",
ap=0xbff9c70c "??&\bH???\220??X$\017\b??&\bp?&\b\030\016?H???2$?\b?\004\b\002")
at src/inter_run.c:230
#6  0xb7bee7cc in Parrot_runops_fromc_args (interp=0x804f008,
sub=0x826f170,     sig=0xb7e46cc3 "vP") at src/inter_run.c:299
#7  0xb7bd6be7 in Parrot_runcode (interp=0x804f008, argc=2,
argv=0xbff9c878)    at src/embed.c:912
#8  0xb7e22432 in imcc_run_pbc (interp=0x804f008, obj_file=0,
output_file=0x0,     argc=2, argv=0xbff9c878) at
compilers/imcc/main.c:794
#9  0xb7e22e22 in imcc_run (interp=0x804f008, sourcefile=0xbff9c9f9
"tcl.pbc",     argc=2, argv=0xbff9c878) at compilers/imcc/main.c:1076
#10 0x080488c2 in main (argc=2, argv=0xbff9c878) at src/main.c:56

OS X intel:

(gdb) bt
#0  0x0118c3cc in Parrot_Ref_morph (interp=0x3003e0, pmc=0x775488,
type=133) at ./src/pmc/ref.c:744
#1  0x0102f824 in Parrot_copy_p_p (cur_opcode=0x648d10,
interp=0x3003e0) at src/ops/set.ops:553
#2  0x010bce7e in runops_slow_core (interp=0x3003e0, pc=0x648d10) at
src/runops_cores.c:213
#3  0x01088ee3 in runops_int (interp=0x3003e0, offset=3308) at
src/interpreter.c:878
#4  0x010898f6 in runops (interp=0x3003e0, offs=3) at src/inter_run.c:104
#5  0x01089b98 in runops_args (interp=0x3003e0, sub=0x4ab200,
obj=0x302ec48, meth_unused=0x0, sig=0x12564c8 "vP", ap=0xbffffa3c
"??J") at src/inter_run.c:230
#6  0x01089cd8 in Parrot_runops_fromc_args (interp=0x3003e0,
sub=0x4ab200, sig=0x12564c8 "vP") at src/inter_run.c:299
#7  0x01071f5c in Parrot_runcode (interp=0x3003e0, argc=2,
argv=0xbffffb88) at src/embed.c:912
#8  0x01231d7c in imcc_run_pbc (interp=0x3003e0, obj_file=0,
output_file=0x0, argc=2, argv=0xbffffb88) at compilers/imcc/main.c:794
#9  0x0123282a in imcc_run (interp=0x3003e0, sourcefile=0xbffffc27
"tcl.pbc", argc=2, argv=0xbffffb88) at compilers/imcc/main.c:1076
#10 0x000023cc in main (argc=2, argv=0xbffffb88) at src/main.c:56

-- 
Will "Coke" Coleda

Reply via email to