[MacRuby] #1063: Segfault occurs when compare the objects of Exception.

MacRuby ruby-noreply at macosforge.org
Sat Dec 18 09:25:32 PST 2010


#1063: Segfault occurs when compare the objects of Exception.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------
 Test Script:
 {{{
 #!ruby
 #it "returns true if the two exceptions inherit from Exception but have
 different classes" do
 one = RuntimeError.new(:message)
 p one # .should be_kind_of(Exception)
 two = TypeError.new(:message)
 p two # .should be_kind_of(Exception)
 p one == two
 }}}

 BackTrack:

 {{{
 $ DYLD_LIBRARY_PATH=. gdb --args ./macruby ~/tmp/tt.rb

 Program received signal EXC_BAD_ACCESS, Could not access memory.
 Reason: KERN_PROTECTION_FAILURE at address: 0x00007fff5f3ffdc8
 0x0000000100136c0f in rb_vm_dispatch () at dispatcher.cpp:582
 582             int argc, const VALUE *argv)
 (gdb) bt 20
 #0  0x0000000100136c0f in rb_vm_dispatch () at dispatcher.cpp:582
 #1  0x000000010005dd61 in rb_vm_call0 (vm=0x100e1e6d0, top=0,
 self=8590009984, klass=0x2000375a0, sel=0x100e27c30, block=0x0, opt=2
 '\002', argc=1, argv=0x7fff5f4008d0) at vm.h:603
 #2  0x000000010005dbf2 in rb_vm_call (self=8590009984, sel=0x100e27c30,
 argc=1, argv=0x7fff5f4008d0) at vm.h:610
 #3  0x000000010005ddcb in rb_equal (obj1=8590009984, obj2=8590050336) at
 object.c:67
 #4  0x0000000100035c15 in exc_equal (exc=8590050336, sel=0x100e27c30,
 obj=8590009984) at error.c:582
 #5  0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:161
 #6  0x00000001001381fa in ruby_dispatch [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:466
 #7  0x00000001001381fa in rb_vm_dispatch () at dispatcher.cpp:849
 #8  0x000000010005dd61 in rb_vm_call0 (vm=0x100e1e6d0, top=0,
 self=8590050336, klass=0x20003b3e0, sel=0x100e27c30, block=0x0, opt=2
 '\002', argc=1, argv=0x7fff5f401570) at vm.h:603
 #9  0x000000010005dbf2 in rb_vm_call (self=8590050336, sel=0x100e27c30,
 argc=1, argv=0x7fff5f401570) at vm.h:610
 #10 0x000000010005ddcb in rb_equal (obj1=8590050336, obj2=8590009984) at
 object.c:67
 #11 0x0000000100035c15 in exc_equal (exc=8590009984, sel=0x100e27c30,
 obj=8590050336) at error.c:582
 #12 0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:161
 #13 0x00000001001381fa in ruby_dispatch [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:466
 #14 0x00000001001381fa in rb_vm_dispatch () at dispatcher.cpp:849
 #15 0x000000010005dd61 in rb_vm_call0 (vm=0x100e1e6d0, top=0,
 self=8590009984, klass=0x2000375a0, sel=0x100e27c30, block=0x0, opt=2
 '\002', argc=1, argv=0x7fff5f402210) at vm.h:603
 #16 0x000000010005dbf2 in rb_vm_call (self=8590009984, sel=0x100e27c30,
 argc=1, argv=0x7fff5f402210) at vm.h:610
 #17 0x000000010005ddcb in rb_equal (obj1=8590009984, obj2=8590050336) at
 object.c:67
 #18 0x0000000100035c15 in exc_equal (exc=8590050336, sel=0x100e27c30,
 obj=8590009984) at error.c:582
 #19 0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:161
 (More stack frames follow...)
 Current language:  auto; currently objective-c++
 (gdb)
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1063>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list