[MacRuby] #1060: Segfault occurs when StringIO#puts handles self-recursive array.

MacRuby ruby-noreply at macosforge.org
Sat Dec 18 06:05:42 PST 2010


#1060: Segfault occurs when StringIO#puts handles self-recursive array.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------
 Test Script:
 {{{
 #!ruby
 # handles self-recursive arrays
 require 'stringio'

 @io = StringIO.new
 ary = [5]
 ary << ary

 @io.puts(ary)
 }}}

 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: 0x00007fff5f3ffff8
 0x00007fff83d4730c in ___CFBasicHashFindBucket1 ()
 (gdb) bt 20
 #0  0x00007fff83d4730c in ___CFBasicHashFindBucket1 ()
 #1  0x00007fff83d4ea9e in CFBasicHashFindBucket ()
 #2  0x00007fff83d7bdbb in CFDictionaryGetValueIfPresent ()
 #3  0x00000001000ca9b6 in ivar_get (obj=8590176608, id=8192, warn=false,
 undef=false) at variable.c:1034
 #4  0x00000001000caaa6 in rb_attr_get (obj=8590176608, id=8192) at
 variable.c:1061
 #5  0x0000000100029d9c in rb_mod_ancestors_nocopy (mod=8590176608) at
 class.c:724
 #6  0x00000001001346a7 in rb_vm_super_lookup (klass=0x20003b160,
 sel=0x7fff854e925e, super_class_p=0x7fff5f400888) at dispatcher.cpp:281
 #7  0x0000000100136dbf in rb_vm_dispatch () at dispatcher.cpp:631
 #8  0x0000000100035e72 in rb_vm_call0 (vm=0x100e250f0, top=0,
 self=8599698304, klass=0x20003b160, sel=0x7fff854e925e, block=0x0, opt=4
 '\004', argc=2, argv=0x7fff5f401b60) at vm.h:603
 #9  0x0000000100035dab in rb_vm_call_super (self=8599698304,
 sel=0x7fff854e925e, argc=2, argv=0x7fff5f401b60) at vm.h:617
 #10 0x0000000100036308 in nometh_err_initialize (self=8599698304,
 sel=0x7fff854e925e, argc=2, argv=0x7fff5f401b60) at error.c:739
 #11 0x0000000100137bc7 in ruby_dispatch [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:448
 #12 0x0000000100137bc7 in rb_vm_dispatch () at dispatcher.cpp:849
 #13 0x000000010005dd61 in rb_vm_call0 (vm=0x100e250f0, top=0,
 self=8599698304, klass=0x20003b160, sel=0x7fff854e925e, block=0x0, opt=2
 '\002', argc=3, argv=0x7fff5f401b60) at vm.h:603
 #14 0x00000001000618d5 in rb_vm_call2 (block=0x0, self=8599698304,
 klass=8590176608, sel=0x7fff854e925e, argc=3, argv=0x7fff5f401b60) at
 vm.h:628
 #15 0x0000000100061848 in rb_class_new_instance0 (argc=3,
 argv=0x7fff5f401b60, klass=8590176608) at object.c:1953
 #16 0x00000001000618ff in rb_class_new_instance (argc=3,
 argv=0x7fff5f401b60, klass=8590176608) at object.c:1968
 #17 0x0000000100153cce in rb_vm_method_missing (obj=21, argc=1,
 argv=0x20094f9c0) at vm.cpp:2855
 #18 0x00000001000e62ed in rb_method_missing (obj=21, sel=0x100e2c960,
 argc=1, argv=0x20094f9c0) at vm_eval.c:84
 #19 0x0000000100137bc7 in ruby_dispatch [inlined] () at /Users/watson/src
 /macruby-trunk-svn/dispatcher.cpp:448
 (More stack frames follow...)
 }}}

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



More information about the macruby-tickets mailing list