#10: -r33351 causes tcl segfault
---------------------+------------------------------------------------------
Reporter: coke | Owner:
Type: bug | Status: new
Priority: unknown | Milestone:
Component: none | Version: trunk
Severity: high | Keywords: segfault
Lang: | Patch:
Platform: linux |
---------------------+------------------------------------------------------
To duplicate the segfault, grab a copy of partcl
(http://code.google.com/p/partcl/wiki/PartclSource), and run:
{{{
../../parrot tcl.pbc library/tcltest/tcltest.tcl
}}}
Which should output nothing and complete successfully; Recent parrots
segfault here (at least on feather.) using svn-bisect, I find this
segfault began at r33351:
{{{
------------------------------------------------------------------------
r33351 | tewk | 2008-11-29 22:30:59 +0100 (Sat, 29 Nov 2008) | 2 lines
[nsentry] The infrastructure is in place, make realclean
------------------------------------------------------------------------
}}}
The backtrace is as follows:
{{{
#0 0xb7ac02d1 in string_equal (interp=0x804f040, s1=0x8a, s2=0x8070f20)
at src/string.c:1437
#1 0xb7d971ac in ns_insert_sub_keyed_str (interp=0x804f040,
self=0xb6471dbc, key=0xb634e500, value=0x82c31e4)
at ./src/pmc/namespace.pmc:92
#2 0xb7d97c06 in Parrot_NameSpace_set_pmc_keyed_str (interp=0x804f040,
pmc=0xb6471dbc, key=0xb634e500, value=0x82c31e4)
at ./src/pmc/namespace.pmc:246
#3 0xb7b3fd5f in Parrot_set_global (interp=0x804f040, ns=0xb6471dbc,
globalname=0xb634e500, val=0x82c31e4) at src/global.c:363
#4 0xb7d97a26 in Parrot_NameSpace_set_pmc_keyed (interp=0x804f040,
pmc=0xb6471dbc, key=0x0, value=0x82c31e4)
at ./src/pmc/namespace.pmc:349
#5 0xb7ae83f8 in Parrot_set_p_kc_p (cur_opcode=0xb6530330,
interp=0x804f040) at src/ops/set.ops:427
#6 0xb7b7a4cc in runops_slow_core (interp=0x804f040, pc=0xb6530330) at
src/runops_cores.c:222
#7 0xb7b4b019 in runops_int (interp=0x804f040, offset=3325) at
src/interpreter.c:938
#8 0xb7b4b8f3 in runops (interp=0x804f040, offs=3325) at
src/inter_run.c:103
#9 0xb7b4bbb1 in runops_args (interp=0x804f040, sub=0xb63f5058,
obj=0x80b6f98, meth_unused=0x0, sig=0xb7e47f60 "vP",
ap=0xbfb9142c "lK??lK??4.?x\024??\202>[EMAIL PROTECTED]") at
src/inter_run.c:240
#10 0xb7b4bcec in Parrot_runops_fromc_args (interp=0x804f040,
sub=0xb63f5058, sig=0xb7e47f60 "vP") at src/inter_run.c:305
#11 0xb7b34037 in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb63f4b6c) at src/exceptions.c:310
#12 0xb7b340fd in Parrot_ex_throw_from_c_args (interp=0x804f040,
ret_addr=0x0, exitcode=20,
format=0xb7e4b14c "Class %Ss already registered!\n") at
src/exceptions.c:377
#13 0xb7b6df3a in fail_if_type_exists (interp=0x804f040, name=0xb63f4bdc)
at src/oo.c:533
#14 0xb7b6dfa4 in Parrot_oo_register_type (interp=0x804f040,
name=0xb63f4bdc) at src/oo.c:564
#15 0xb7d643f9 in init_class_from_hash (interp=0x804f040, self=0xb63f4e98,
info=0xb63f4d10) at ./src/pmc/class.pmc:222
#16 0xb7d65e86 in Parrot_Class_init_pmc (interp=0x804f040, pmc=0xb63f4e98,
init_data=0x81e4a8c) at ./src/pmc/class.pmc:512
#17 0xb7b79941 in pmc_new_init (interp=0x804f040, base_type=50,
init=0x81e4a8c) at src/pmc.c:385
#18 0xb7ade958 in Parrot_newclass_p_p (cur_opcode=0xb60e8d70,
interp=0x804f040) at src/ops/object.ops:254
#19 0xb7b7a4cc in runops_slow_core (interp=0x804f040, pc=0xb60e8d70) at
src/runops_cores.c:222
#20 0xb7b4b019 in runops_int (interp=0x804f040, offset=3325) at
src/interpreter.c:938
#21 0xb7b4b8f3 in runops (interp=0x804f040, offs=3325) at
src/inter_run.c:103
#22 0xb7b4bbb1 in runops_args (interp=0x804f040, sub=0x81e2d3c,
obj=0x80b6f98, meth_unused=0x0, sig=0xb7e47f60 "vP",
ap=0xbfb9177c "?\031\036\b?\031\036\b4.??\027??\202>[EMAIL PROTECTED]")
at src/inter_run.c:240
#23 0xb7b4bcec in Parrot_runops_fromc_args (interp=0x804f040,
sub=0x81e2d3c, sig=0xb7e47f60 "vP") at src/inter_run.c:305
#24 0xb7b34037 in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0x81e19fc) at src/exceptions.c:310
#25 0xb7b340fd in Parrot_ex_throw_from_c_args (interp=0x804f040,
ret_addr=0x0, exitcode=20,
format=0xb7e4b14c "Class %Ss already registered!\n") at
src/exceptions.c:377
#26 0xb7b6df3a in fail_if_type_exists (interp=0x804f040, name=0x81e1a88)
at src/oo.c:533
#27 0xb7b6dfa4 in Parrot_oo_register_type (interp=0x804f040,
name=0x81e1a88) at src/oo.c:564
#28 0xb7d643f9 in init_class_from_hash (interp=0x804f040, self=0x81e28f8,
info=0x81e26e4) at ./src/pmc/class.pmc:222
#29 0xb7d65e86 in Parrot_Class_init_pmc (interp=0x804f040, pmc=0x81e28f8,
init_data=0x81e4a8c) at ./src/pmc/class.pmc:512
#30 0xb7b79941 in pmc_new_init (interp=0x804f040, base_type=50,
init=0x81e4a8c) at src/pmc.c:385
#31 0xb7ade958 in Parrot_newclass_p_p (cur_opcode=0xb60e8d70,
interp=0x804f040) at src/ops/object.ops:254
#32 0xb7b7a4cc in runops_slow_core (interp=0x804f040, pc=0xb60e8d70) at
src/runops_cores.c:222
#33 0xb7b4b019 in runops_int (interp=0x804f040, offset=3) at
src/interpreter.c:938
#34 0xb7b4b8f3 in runops (interp=0x804f040, offs=3) at src/inter_run.c:103
#35 0xb7b4bbb1 in runops_args (interp=0x804f040, sub=0x80ef9f8,
obj=0x80b6f98, meth_unused=0x0, sig=0xb7e47c1f "vP",
ap=0xbfb91acc
"[EMAIL PROTECTED]")
at src/inter_run.c:240
#36 0xb7b4bcec in Parrot_runops_fromc_args (interp=0x804f040,
sub=0x80ef9f8, sig=0xb7e47c1f "vP") at src/inter_run.c:305
#37 0xb7b31597 in Parrot_runcode (interp=0x804f040, argc=2,
argv=0xbfb91c38) at src/embed.c:959
#38 0xb7e22518 in imcc_run_pbc (interp=0x804f040, obj_file=0,
output_file=0x0, argc=2, argv=0xbfb91c38)
at compilers/imcc/main.c:790
#39 0xb7e22fe5 in imcc_run (interp=0x804f040, sourcefile=0xbfb929c9
"tcl.pbc", argc=2, argv=0xbfb91c38)
at compilers/imcc/main.c:1078
#40 0x080489a8 in main (argc=2, argv=0xbfb91c38) at src/main.c:61
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/10>
Parrot <http://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets