[MacRuby] #1288: MacRuby displays "reference count underflow" message with rubyspec.
#1288: MacRuby displays "reference count underflow" message with rubyspec. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: minor | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- {{{ $ ./mspec/bin/mspec ci -B ./spec/macruby.mspec :rubyspec MacRuby 0.11 (ruby 1.9.2) [universal-darwin10.4, x86_64] ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F............................................................................................................................ .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................macruby(92843,0x7fff70904ca0) malloc: reference count underflow for 0x20126f7a0, break on auto_refcount_underflow_error to debug. .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F....................... ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1) Kernel.caller returns one entry per call, even for recursive methods FAILED Expected 0 to equal 1 /Users/watson/src/macruby- trunk/spec/frozen/core/kernel/caller_spec.rb:157:in `block' /Users/watson/src/macruby- trunk/spec/frozen/core/kernel/caller_spec.rb:152:in `<main>' 2) Queue#num_waiting reports the number of threads waiting on the Queue FAILED Expected 3 to equal 4 /Users/watson/src/macruby- trunk/spec/frozen/library/queue/num_waiting_spec.rb:10:in `block' /Users/watson/src/macruby- trunk/spec/frozen/library/queue/num_waiting_spec.rb:9:in `block' /Users/watson/src/macruby- trunk/spec/frozen/library/queue/num_waiting_spec.rb:4:in `<main>' Finished in 147.078465 seconds 3270 files, 14109 examples, 55429 expectations, 2 failures, 0 errors }}} {{{ $ ./mspec/bin/mspec ci -B ./spec/macruby.mspec :rubyspec --verbose MacRuby 0.11 (ruby 1.9.2) [universal-darwin10.4, x86_64] ---- snip ---- /Users/watson/src/macruby-trunk/spec/frozen/core/thread/initialize_spec.rb . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/inspect_spec.rb . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/join_spec.rb macruby(95513,0x7fff70904ca0) malloc: reference count underflow for 0x2012e2d80, break on auto_refcount_underflow_error to debug. . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/key_spec.rb . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/keys_spec.rb . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/kill_spec.rb . /Users/watson/src/macruby-trunk/spec/frozen/core/thread/list_spec.rb . ---- snip ---- }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1288> MacRuby <http://macruby.org/>
#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 kouji@…): I could not reduce this issue on f9f0b29e33e443279265944fd17fcf439f9795ac. I always move /Library/Frameworks/MacRuby.framework to /Library/Frameworks/MacRuby.framework.orig before run rubyspec. Because sometime rubyspec occurs segv if I did not move. {{{ $ sudo mv /Library/Frameworks/MacRuby.framework /Library/Frameworks/MacRuby.framework.orig }}} And could you rebuild rbo files before run rubyspec? (rake stdlib:build) Thanks. -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:1> MacRuby <http://macruby.org/>
#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@…): In my environment, always displays message even if remove a "/Library/Frameworks/MacRuby.framework" and rebuild all. The message was not displayed by the following changes, but I do not know whether those changing are correctly. {{{ #!diff diff --git a/vm.cpp b/vm.cpp index ffcb22d..ebec99b 100644 --- a/vm.cpp +++ b/vm.cpp @@ -5619,8 +5619,10 @@ rb_vm_dln_load(void (*init_fct)(void), IMP __mrep__) } ~Finally() { vm->pop_outer(); - vm->replace_outer_stack(old_outer_stack); - GC_RELEASE(old_outer_stack); + if (old_outer_stack != NULL) { + vm->replace_outer_stack(old_outer_stack); + GC_RELEASE(old_outer_stack); + } vm->set_current_class(old_class); } } finalizer(vm); @@ -5665,8 +5667,10 @@ rb_vm_load(const char *fname_str, int wrap) } ~Finally() { vm->pop_outer(); - vm->replace_outer_stack(old_outer_stack); - GC_RELEASE(old_outer_stack); + if (old_outer_stack != NULL) { + vm->replace_outer_stack(old_outer_stack); + GC_RELEASE(old_outer_stack); + } vm->set_current_class(old_class); } } finalizer(vm); }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:2> MacRuby <http://macruby.org/>
#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 lsansonetti@…): I think your change is good (looking in the same vm.cpp file I see that the check is done sometimes). But Kouji can confirm :) -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:3> MacRuby <http://macruby.org/>
#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@…): Sorry, The message still often displays even if I apply an above patch :( -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:4> MacRuby <http://macruby.org/>
#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/>
#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@…): Thread 1 : frame 4-5 {{{ (gdb) p rb_symbolicate(0x0000000103c0096e) $10 = void addr 0x103c0096e selector block location :0 (gdb) p rb_symbolicate(0x000000011b391fb1) $11 = void addr 0x11b391fb1 selector block location /Users/watson/src/macruby- trunk/spec/frozen/core/thread/join_spec.rb:40 }}} Thread 1 : frame 9-10 {{{ (gdb) p rb_symbolicate(0x0000000103c004e4) $14 = void addr 0x103c004e4 selector block location :0 (gdb) p rb_symbolicate(0x0000000103c6ab85) $15 = void addr 0x103c6ab85 selector protect: location /Users/watson/src/macruby- trunk/mspec/lib/mspec/runner/mspec.rb:68 }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:6> MacRuby <http://macruby.org/>
#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@…): Thread 3 : frame 8 {{{ (gdb) p rb_symbolicate(0x000000011b392d9a) $16 = void addr 0x11b392d9a selector block location /Users/watson/src/macruby- trunk/spec/frozen/core/thread/join_spec.rb:39 }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:7> MacRuby <http://macruby.org/>
#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@…): It seems to reappear in my environment when I execute the following script several times. {{{ #!ruby 3.times do Thread.new { GC.start raise NotImplementedError.new("Just kidding") } end sleep 1 }}} {{{ $ DYLD_LIBRARY_PATH=. ./macruby -I./ext -I./lib ~/tmp/t.rb macruby(8829,0x10363c000) malloc: reference count underflow for 0x2000398e0, break on auto_refcount_underflow_error to debug. $ DYLD_LIBRARY_PATH=. ./macruby -I./ext -I./lib ~/tmp/t.rb $ DYLD_LIBRARY_PATH=. ./macruby -I./ext -I./lib ~/tmp/t.rb macruby(8831,0x1036f7000) malloc: reference count underflow for 0x2000398e0, break on auto_refcount_underflow_error to debug. $ DYLD_LIBRARY_PATH=. ./macruby -I./ext -I./lib ~/tmp/t.rb $ DYLD_LIBRARY_PATH=. ./macruby -I./ext -I./lib ~/tmp/t.rb macruby(8833,0x1036f7000) malloc: reference count underflow for 0x2000398e0, break on auto_refcount_underflow_error to debug. }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:8> MacRuby <http://macruby.org/>
#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 kouji@…): I checked it with 2099c43a78f24f5108ba7205a4a1933c17202661 (Sun Apr 24 21:43:50 2011 +0900). Then I got same warning messages. I report my reduction script below. {{{ threads = [] 35.times do threads << Thread.new { GC.start raise NotImplementedError.new("Just kidding") } end threads.each do |t| begin t.join rescue NotImplementedError end end }}} And I report my command to run below. {{{ $ i=0; while true; do ./miniruby issues/1288/reduction.rb; i=`expr $i + 1`; echo $i; done 1 2 3 4 5 6 7 8 miniruby(51414,0x10401c000) malloc: reference count underflow for 0x2000392a0, break on auto_refcount_underflow_error to debug. 9 }}} Thanks. -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:9> MacRuby <http://macruby.org/>
#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 mrada@…): I am experiencing this issue with a ControlTower/Sinatra app that I use at work. -- Ticket URL: <http://www.macruby.org/trac/ticket/1288#comment:10> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby