[MacRuby] #1059: Segfault occurs when send #initialize_copy to already initialized class.

MacRuby ruby-noreply at macosforge.org
Thu Dec 23 15:12:50 PST 2010


#1059: Segfault occurs when send #initialize_copy to already initialized class.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |        Owner:  lsansonetti@…        
     Type:  defect                |       Status:  reopened             
 Priority:  blocker               |    Milestone:  MacRuby 0.9          
Component:  MacRuby               |   Resolution:                       
 Keywords:                        |  
----------------------------------+-----------------------------------------
Changes (by watson1978@…):

  * status:  closed => reopened
  * resolution:  fixed =>


Comment:

 MacRuby still crashes when following code runs. Sorry X(

 {{{
 #!ruby
 String.send :initialize_copy, Fixnum
 Object.send :initialize_copy, String
 }}}

 Result:
 {{{
 $ macruby tt.rb
 Assertion failed: (type != 0), function rb_objc_type, file class.c, line
 1344.
 zsh: abort      macruby tt.rb
 }}}

 BackTrace:
 {{{

 Program received signal SIGABRT, Aborted.
 0x00007fff88411616 in __kill ()
 (gdb) bt
 #0  0x00007fff88411616 in __kill ()
 #1  0x00007fff884b1cca in abort ()
 #2  0x00007fff8849ec90 in __assert_rtn ()
 #3  0x000000010002ab03 in rb_objc_type (obj=<value temporarily
 unavailable, due to optimizations>) at class.c:1344
 #4  0x0000000100067f3c in rb_type (obj=8590244416) at ruby.h:1044
 #5  0x000000010006a352 in rb_obj_freeze_m (obj=8590244416, sel=0x0) at
 object.c:1127
 #6  0x000000010006a5ae in rb_obj_freeze (obj=8590244416) at object.c:1140
 #7  0x00000001000daa82 in classname (klass=8590162208) at variable.c:209
 #8  0x00000001000dbc18 in rb_class_path (klass=8590162208) at
 variable.c:242
 #9  0x00000001000dcc11 in rb_class_name [inlined] () at variable.c:337
 #10 0x00000001000dcc11 in rb_class2name [inlined] () at /Users/watson/src
 /macruby-trunk-svn/variable.c:343
 #11 0x00000001000dcc11 in rb_obj_classname (obj=<value temporarily
 unavailable, due to optimizations>) at variable.c:349
 #12 0x00000001000e0533 in rb_rb2oc_exception (exc=8590310112) at
 objc.m:472
 #13 0x000000010015959d in __vm_raise [inlined] () at /Users/watson/src
 /macruby-trunk-svn/vm.cpp:3412
 #14 0x000000010015959d in rb_vm_raise (exception=<value temporarily
 unavailable, due to optimizations>) at vm.cpp:3480
 #15 0x0000000100041509 in rb_exc_raise (mesg=<value temporarily
 unavailable, due to optimizations>) at eval.c:322
 #16 0x000000010003f2f4 in rb_raise (exc=<value temporarily unavailable,
 due to optimizations>, fmt=<value temporarily unavailable, due to
 optimizations>) at error.c:1149
 #17 0x000000010002bf46 in rb_class_init_copy (clone=4309359584, sel=<value
 temporarily unavailable, due to optimizations>, orig=8590005408) at
 class.c:312
 #18 0x0000000100143acb in rb_vm_dispatch (_vm=0x100d1e6c0,
 cache=0x100e78cc0, top=0, self=140735080617064, klass=0x7fff707cd440,
 sel=0x100d23720, block=0x0, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbff5b8) at
 dispatcher.cpp:161
 #19 0x00000001032004e6 in ?? ()
 #20 0x0000000103200192 in ?? ()
 #21 0x000000010015b1b3 in rb_vm_run (fname=<value temporarily unavailable,
 due to optimizations>, node=0x20004d340, binding=<value temporarily
 unavailable, due to optimizations>, inside_eval=false) at vm.cpp:3942
 #22 0x0000000100041b70 in ruby_run_node (n=0x20004d340) at eval.c:211
 #23 0x0000000100000d28 in main (argc=2, argv=0x100d1de30, envp=<value
 temporarily unavailable, due to optimizations>) at main.cpp:40
 (gdb)
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1059#comment:2>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list