[MacRuby] #1059: Segfault occurs when send #initialize_copy to already initialized class.
MacRuby
ruby-noreply at macosforge.org
Sat Dec 18 05:15:57 PST 2010
#1059: Segfault occurs when send #initialize_copy to already initialized class.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
MacRuby should throw an exception, but Segfault occurs.
Test Script:
{{{
#!ruby
# it "raises a TypeError when called on already initialized classes"
Object.send :initialize_copy, String
}}}
BackTrace:
{{{
$ DYLD_LIBRARY_PATH=. gdb --args ./macruby -I./lib ~/tmp/tt.rb
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000020
0x00007fff80016410 in class_setSuperclass ()
(gdb) bt
#0 0x00007fff80016410 in class_setSuperclass ()
#1 0x0000000100028f20 in rb_mod_init_copy (clone=140735080617064,
sel=0x0, orig=8590006368) at class.c:269
#2 0x0000000100029059 in rb_class_init_copy (clone=140735080617064,
sel=0x100e243b0, orig=8590006368) at class.c:310
#3 0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:161
#4 0x00000001001381fa in ruby_dispatch [inlined] () at /Users/watson/src
/macruby-trunk-svn/dispatcher.cpp:466
#5 0x00000001001381fa in rb_vm_dispatch () at dispatcher.cpp:849
#6 0x0000000103300406 in ?? ()
#7 0x00000001033000b7 in ?? ()
#8 0x000000010015268d in rb_vm_run (fname=0x200051140
"/Users/watson/tmp/tt.rb", node=0x20004eb40, binding=0x0,
inside_eval=false) at vm.cpp:3943
#9 0x0000000100038d71 in ruby_run_node (n=0x20004eb40) at eval.c:211
#10 0x0000000100000c15 in main (argc=3, argv=0x100e1de30,
envp=0x7fff5fbfee68) at main.cpp:40
(gdb)
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1059>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list