[MacRuby] #1288: MacRuby displays "reference count underflow" message with rubyspec.

MacRuby ruby-noreply at macosforge.org
Tue May 24 04:03:19 PDT 2011


#1288: MacRuby displays "reference count underflow" message with rubyspec.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  minor                 |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------

Comment(by watson1978@…):

 I got a backtrace.
 {{{

 (gdb) b auto_refcount_underflow_error
 Breakpoint 1 at 0x7fff82c7db84
 (gdb) c
 Continuing.

 Breakpoint 1, 0x00007fff82c7db84 in auto_refcount_underflow_error ()
 (gdb) thread apply all bt

 Thread 3 (process 8425):
 #0  0x00007fffffe00295 in __spin_lock ()
 #1  0x00007fff82c83b82 in Auto::Admin::thread_cache_allocate ()
 #2  0x00007fff82c8b0b2 in Auto::Zone::block_allocate ()
 #3  0x00007fff82c76d72 in auto_zone_allocate_object ()
 #4  0x000000010003d7d0 in rb_objc_newobj (size=<value temporarily
 unavailable, due to optimizations>) at gc.c:286
 #5  0x00000001000ca6a2 in str_alloc [inlined] () at /Users/watson/src
 /macruby-trunk/string.c:224
 #6  0x00000001000ca6a2 in rb_enc_str_new [inlined] () at /Users/watson/src
 /macruby-trunk/string.c:6294
 #7  0x00000001000ca6a2 in rb_str_new (cstr=0x11b08adca "Just kidding",
 len=12) at string.c:6302
 #8  0x000000011b392d9a in ?? ()
 #9  0x0000000100141408 in rb_vm_block_eval (b=0x211c1bf00, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x200039b00) at
 dispatcher.cpp:98
 #10 0x0000000100154558 in rb_vm_thread_run (thread=8887845536) at
 vm.cpp:4925
 #11 0x00007fff87a374f6 in _pthread_start ()
 #12 0x00007fff87a373a9 in thread_start ()

 Thread 2 (process 8425):
 #0  0x00007fff87a1712a in kevent ()
 #1  0x00007fff87a18ffd in _dispatch_mgr_invoke ()
 #2  0x00007fff87a18cd4 in _dispatch_queue_invoke ()
 #3  0x00007fff87a187fe in _dispatch_worker_thread2 ()
 #4  0x00007fff87a18128 in _pthread_wqthread ()
 #5  0x00007fff87a17fc5 in start_wqthread ()

 Thread 1 (process 8425):
 #0  0x00007fff82c7db84 in auto_refcount_underflow_error ()
 #1  0x00007fff82c8ac11 in Auto::Zone::dec_refcount_small_medium ()
 #2  0x00007fff82c8c75e in Auto::Zone::block_decrement_refcount ()
 #3  0x00007fff82c7595f in auto_zone_release ()
 #4  0x0000000103c0096e in ?? ()
 #5  0x000000011b391fb1 in ?? ()
 #6  0x0000000100140ab0 in rb_vm_yield_under (klass=<value temporarily
 unavailable, due to optimizations>, self=<value temporarily unavailable,
 due to optimizations>, argc=<value temporarily unavailable, due to
 optimizations>, argv=0x0) at dispatcher.cpp:98
 #7  0x00000001000f64cf in specific_eval (argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0, klass=8887662336,
 self=8887662880) at vm_eval.c:335
 #8  0x000000010013f1f8 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d90780, top=8590305312, self=8887662880, klass=0x211bef700,
 sel=0x100ee5570, block=0x211c0ab00, opt=0 '\0', argc=0, argv=0x0) at
 dispatcher.cpp:457
 #9  0x0000000103c004e4 in ?? ()
 #10 0x0000000103c6ab85 in ?? ()
 #11 0x000000010013f55a in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d8d680, top=8887717632, self=8590305312, klass=0x2000b6280,
 sel=0x10507c6e0, block=0x211c0ab00, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbef7b8) at
 dispatcher.cpp:161
 #12 0x0000000103c004e4 in ?? ()
 #13 0x0000000103c6c672 in ?? ()
 #14 0x00000001001426ce in rb_vm_yield_args (_vm=0xab0, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x1) at
 dispatcher.cpp:100
 #15 0x0000000100029256 in enum_all_func [inlined] () at /Users/watson/src
 /macruby-trunk/enum.c:868
 #16 0x0000000100029256 in all_iter_i (i=<value temporarily unavailable,
 due to optimizations>, memo=0x7fff5fbf09f8, argc=<value temporarily
 unavailable, due to optimizations>, argv=<value temporarily unavailable,
 due to optimizations>) at enum.c:868
 #17 0x0000000100142720 in rb_vm_yield_args (_vm=0x100e235c0, argc=1,
 argv=0x7fff5fbf0038) at dispatcher.cpp:1140
 #18 0x00000001000f4ed8 in rb_yield (val=8887773504) at vm_eval.c:183
 #19 0x00000001000059cd in rary_each (ary=8887843456, sel=<value
 temporarily unavailable, due to optimizations>) at array.c:1072
 #20 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d7f840, top=0, self=8887843456, klass=0x2000684c0,
 sel=0x100e26620, block=0x211c1be80, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #21 0x00000001000f4abf in rb_objc_block_call (obj=8887843456,
 sel=0x100e26620, argc=0, argv=0x0, bl_proc=<value temporarily unavailable,
 due to optimizations>, data2=<value temporarily unavailable, due to
 optimizations>) at vm.h:656
 #22 0x00000001000280c7 in enum_all (obj=8887843456, sel=<value temporarily
 unavailable, due to optimizations>) at enum.c:892
 #23 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d688c0, top=8887717632, self=8887843456, klass=0x2000684c0,
 sel=0x100ecb0b0, block=0x20f7efd80, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #24 0x0000000103c004e4 in ?? ()
 #25 0x0000000103c6c298 in ?? ()
 #26 0x000000010013f50a in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d7d1c0, top=8887717632, self=8887717632, klass=0x200230740,
 sel=0x10507c6e0, block=0x0, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf1960) at
 dispatcher.cpp:165
 #27 0x0000000103c004e4 in ?? ()
 #28 0x0000000103c71048 in ?? ()
 #29 0x00000001001426ce in rb_vm_yield_args (_vm=0x608, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x2) at
 dispatcher.cpp:100
 #30 0x00000001000f4ed8 in rb_yield (val=8887774304) at vm_eval.c:183
 #31 0x00000001000059cd in rary_each (ary=8887725440, sel=<value
 temporarily unavailable, due to optimizations>) at array.c:1072
 #32 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d7f840, top=8887717632, self=8887725440, klass=0x2000684c0,
 sel=0x100e26620, block=0x20029a1e0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #33 0x0000000103c004e4 in ?? ()
 #34 0x0000000103c6d02b in ?? ()
 #35 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d737c0, top=8590305312, self=8887717632, klass=0x200230740,
 sel=0x102ed73a0, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #36 0x0000000103c004e4 in ?? ()
 #37 0x0000000103c2db6a in ?? ()
 #38 0x000000010013f535 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d6c280, top=8590067424, self=8590305312, klass=0x2000b6280,
 sel=0x103ef3d60, block=0x211bfe940, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf5248) at
 dispatcher.cpp:163
 #39 0x0000000103c004e4 in ?? ()
 #40 0x0000000103c2dda1 in ?? ()
 #41 0x000000010013f50a in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d96ec0, top=8590067424, self=8590067424, klass=0x200020040,
 sel=0x103ef3d60, block=0x211bfe940, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf5400) at
 dispatcher.cpp:165
 #42 0x0000000103c004e4 in ?? ()
 #43 0x000000011b3907c5 in ?? ()
 #44 0x0000000100157a58 in rb_vm_run (fname=0x211bf17c0 "/Users/watson/src
 /macruby-trunk/spec/frozen/core/thread/join_spec.rb", node=0x211bfcb00,
 binding=<value temporarily unavailable, due to optimizations>,
 inside_eval=<value temporarily unavailable, due to optimizations>) at
 vm.cpp:4233
 #45 0x0000000100157de1 in RoxorVM::pop_outer () at /Users/watson/src
 /macruby-trunk/vm.cpp:5679
 #46 ~Finally [inlined] () at /Users/watson/src/macruby-trunk/vm.cpp:5667
 #47 0x0000000100157de1 in rb_vm_load (fname_str=0x211bf17c0
 "/Users/watson/src/macruby-trunk/spec/frozen/core/thread/join_spec.rb",
 wrap=<value temporarily unavailable, due to optimizations>) at vm.cpp:5679
 #48 0x000000010003979a in rb_f_load (rcv=<value temporarily unavailable,
 due to optimizations>, sel=<value temporarily unavailable, due to
 optimizations>, argc=<value temporarily unavailable, due to
 optimizations>, argv=<value temporarily unavailable, due to
 optimizations>) at load.c:115
 #49 0x000000010013f24c in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d86a38, top=8887662880, self=8590038400, klass=0x200019b80,
 sel=0x7fff81ee5bb1, block=0x0, opt=0 '\0', argc=1, argv=0x7fff5fbf6e58) at
 dispatcher.cpp:448
 #50 0x0000000103c004e4 in ?? ()
 #51 0x0000000103c6aa68 in ?? ()
 #52 0x0000000100140ab0 in rb_vm_yield_under (klass=<value temporarily
 unavailable, due to optimizations>, self=<value temporarily unavailable,
 due to optimizations>, argc=<value temporarily unavailable, due to
 optimizations>, argv=0x0) at dispatcher.cpp:98
 #53 0x00000001000f64cf in specific_eval (argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0, klass=8887662336,
 self=8887662880) at vm_eval.c:335
 #54 0x000000010013f1f8 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d90780, top=8590305312, self=8887662880, klass=0x211bef700,
 sel=0x100ee5570, block=0x211bf1440, opt=0 '\0', argc=0, argv=0x0) at
 dispatcher.cpp:457
 #55 0x0000000103c004e4 in ?? ()
 #56 0x0000000103c6ab85 in ?? ()
 #57 0x000000010013f55a in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d8d680, top=8590305312, self=8590305312, klass=0x2000b6280,
 sel=0x10507c6e0, block=0x211bf1440, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf8e28) at
 dispatcher.cpp:161
 #58 0x0000000103c004e4 in ?? ()
 #59 0x0000000103c68cc8 in ?? ()
 #60 0x00000001001426ce in rb_vm_yield_args (_vm=0xab0, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x1) at
 dispatcher.cpp:100
 #61 0x00000001000f4ed8 in rb_yield (val=8590937056) at vm_eval.c:183
 #62 0x00000001000059cd in rary_each (ary=8593243840, sel=<value
 temporarily unavailable, due to optimizations>) at array.c:1072
 #63 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d7f840, top=8590305312, self=8593243840, klass=0x2000684c0,
 sel=0x100e26620, block=0x20031f340, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #64 0x0000000103c004e4 in ?? ()
 #65 0x0000000103c686be in ?? ()
 #66 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d90550, top=8590305312, self=8590305312, klass=0x2000b6280,
 sel=0x7fff8743d7d6, block=0x0, opt=1 '\001', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #67 0x0000000103c004e4 in ?? ()
 #68 0x0000000103c67d17 in ?? ()
 #69 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d9fc80, top=8592973568, self=8590305312, klass=0x2000b6280,
 sel=0x102ed73a0, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #70 0x0000000103c004e4 in ?? ()
 #71 0x0000000103c6754d in ?? ()
 #72 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d7ab40, top=8590714208, self=8592973568, klass=0x2000be560,
 sel=0x7fff8095b9f4, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #73 0x0000000103c004e4 in ?? ()
 #74 0x0000000103c55cf4 in ?? ()
 #75 0x000000010013f575 in rb_vm_dispatch (_vm=0x100e235c0,
 cache=0x100d74278, top=8590067424, self=8590714208, klass=0x2000be640,
 sel=0x7fff80a04fb1, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #76 0x0000000103c004e4 in ?? ()
 #77 0x0000000103c001be in ?? ()
 #78 0x0000000100157a58 in rb_vm_run (fname=0x20004cea0 "/Users/watson/src
 /macruby-trunk/mspec/bin/mspec-ci", node=0x200064480, binding=<value
 temporarily unavailable, due to optimizations>, inside_eval=<value
 temporarily unavailable, due to optimizations>) at vm.cpp:4233
 #79 0x00000001000311e0 in ruby_run_node (n=0x200064480) at eval.c:211
 #80 0x0000000100000cf8 in main (argc=30, argv=0x100e1c060, envp=<value
 temporarily unavailable, due to optimizations>) at main.cpp:40
 (gdb)
 }}}

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



More information about the macruby-tickets mailing list