Ticket #10 (closed bug: fixed)
-r33351 causes tcl segfault
Reported by: | coke | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | none | Version: | trunk |
Severity: | high | Keywords: | segfault |
Cc: | Language: | ||
Patch status: | Platform: | linux |
Description
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>??@?\004\b\002") 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>??@?\004\b\002") 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 "??\016\b\b\033???\022??x?\023\b??\016\b??\016\b4.?\b\033??\030%?@?\004\b\002") 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
Attachments
Change History
Note: See
TracTickets for help on using
tickets.