[MacRuby] #1058: Segfault occurs when Array#== handles recursive array.
#1058: Segfault occurs when Array#== handles recursive array. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ #!ruby # ruby_bug "ruby-core #1448", "1.9.1" # it "handles well recursive arrays" module ArraySpecs def self.empty_recursive_array a = [] a << a a end end a = ArraySpecs.empty_recursive_array a2 = ArraySpecs.empty_recursive_array p a == a2 }}} BackTrace: {{{ $ DYLD_LIBRARY_PATH=. gdb --args ./macruby -I./lib ~/tmp/tt.rb Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00007fff5f3fffb8 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=0x100e250f0, top=0, self=8590155168, klass=0x20006d2a0, sel=0x100e29450, block=0x0, opt=2 '\002', argc=1, argv=0x7fff5f400ac0) at vm.h:603 #2 0x000000010005dbf2 in rb_vm_call (self=8590155168, sel=0x100e29450, argc=1, argv=0x7fff5f400ac0) at vm.h:610 #3 0x000000010005ddcb in rb_equal (obj1=8590155168, obj2=8590155360) at object.c:67 #4 0x00000001000159c8 in rb_equal_fast (x=8590155168, y=8590155360) at array.c:139 #5 0x000000010001a0b4 in rb_ary_equal (ary1=8590155168, ary2=8590155360) at array.c:2463 #6 0x000000010001a193 in rary_equal (ary1=8590155168, sel=0x100e29450, ary2=8590155360) at array.c:2484 #7 0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src /macruby-trunk-svn/dispatcher.cpp:161 #8 0x00000001001381fa in ruby_dispatch [inlined] () at /Users/watson/src /macruby-trunk-svn/dispatcher.cpp:466 #9 0x00000001001381fa in rb_vm_dispatch () at dispatcher.cpp:849 #10 0x000000010005dd61 in rb_vm_call0 (vm=0x100e250f0, top=0, self=8590155168, klass=0x20006d2a0, sel=0x100e29450, block=0x0, opt=2 '\002', argc=1, argv=0x7fff5f4017d0) at vm.h:603 #11 0x000000010005dbf2 in rb_vm_call (self=8590155168, sel=0x100e29450, argc=1, argv=0x7fff5f4017d0) at vm.h:610 #12 0x000000010005ddcb in rb_equal (obj1=8590155168, obj2=8590155360) at object.c:67 #13 0x00000001000159c8 in rb_equal_fast (x=8590155168, y=8590155360) at array.c:139 #14 0x000000010001a0b4 in rb_ary_equal (ary1=8590155168, ary2=8590155360) at array.c:2463 #15 0x000000010001a193 in rary_equal (ary1=8590155168, sel=0x100e29450, ary2=8590155360) at array.c:2484 #16 0x00000001001381fa in __rb_vm_rcall [inlined] () at /Users/watson/src /macruby-trunk-svn/dispatcher.cpp:161 #17 0x00000001001381fa in ruby_dispatch [inlined] () at /Users/watson/src /macruby-trunk-svn/dispatcher.cpp:466 #18 0x00000001001381fa in rb_vm_dispatch () at dispatcher.cpp:849 #19 0x000000010005dd61 in rb_vm_call0 (vm=0x100e250f0, top=0, self=8590155168, klass=0x20006d2a0, sel=0x100e29450, block=0x0, opt=2 '\002', argc=1, argv=0x7fff5f4024e0) at vm.h:603 (More stack frames follow...) Current language: auto; currently objective-c++ }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1058> MacRuby <http://macruby.org/>
#1058: Segfault occurs when Array#== handles recursive array. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | Milestone: MacRuby 0.9 Component: MacRuby | Resolution: fixed Keywords: | ----------------------------------+----------------------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed * milestone: => MacRuby 0.9 Comment: Should be fixed in r5067. -- Ticket URL: <http://www.macruby.org/trac/ticket/1058#comment:1> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby