[MacRuby] #1294: MacRuby crashes when loading files on the non-main thread

MacRuby ruby-noreply at macosforge.org
Wed Aug 31 18:40:49 PDT 2011


#1294: MacRuby crashes when loading files on the non-main thread
------------------------------------+---------------------------------------
 Reporter:  mrada@…                 |       Owner:  lsansonetti@…         
     Type:  defect                  |      Status:  new                   
 Priority:  blocker                 |   Milestone:                        
Component:  MacRuby                 |    Keywords:  reduction 0.11-blocker
------------------------------------+---------------------------------------

Comment(by watson1978@…):

 I tried your patch. [[BR]]
 Unfortunately, it seems to occur crashes yet.

 {{{
 $ i=0; while true; do DYLD_LIBRARY_PATH=. ./macruby -I./lib
 ~/tmp/ticket/1294-test_require.rb; i=`expr $i + 1`; echo $i; done
 }}}

 When the invoked over 100 times, it seems to have crashed several times.

 {{{
 Process:         macruby [4681]
 Path:            /Users/USER/*/macruby
 Identifier:      macruby
 Version:         ??? (???)
 Code Type:       X86-64 (Native)
 Parent Process:  zsh [2110]

 Date/Time:       2011-09-01 10:35:41.390 +0900
 OS Version:      Mac OS X 10.7.1 (11B26)
 Report Version:  9

 Crashed Thread:  0  Dispatch queue: com.apple.main-thread

 Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
 Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000010

 VM Regions Near 0x10:
 -->
     __TEXT                 0000000100569000-000000010056a000 [    4K]
 r-x/rwx SM=COW  /Users/USER/*

 Application Specific Information:
 objc[4681]: garbage collection is ON

 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
 0   libstdc++.6.dylib                   0x00007fff94d70a3f
 std::_Rb_tree_rotate_left(std::_Rb_tree_node_base*,
 std::_Rb_tree_node_base*&) + 8
 1   libstdc++.6.dylib                   0x00007fff94d70bed
 std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*,
 std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) + 284
 2   libmacruby.1.9.2.dylib              0x00000001006cc9da
 std::_Rb_tree<unsigned long, std::pair<unsigned long const, ccache*>,
 std::_Select1st<std::pair<unsigned long const, ccache*> >,
 std::less<unsigned long>, std::allocator<std::pair<unsigned long const,
 ccache*> > >::_M_insert(std::_Rb_tree_node_base*,
 std::_Rb_tree_node_base*, std::pair<unsigned long const, ccache*> const&)
 + 106 (stl_tree.h:844)
 3   libmacruby.1.9.2.dylib              0x00000001006ce7dd
 std::_Rb_tree<unsigned long, std::pair<unsigned long const, ccache*>,
 std::_Select1st<std::pair<unsigned long const, ccache*> >,
 std::less<unsigned long>, std::allocator<std::pair<unsigned long const,
 ccache*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned
 long const, ccache*> >, std::pair<unsigned long const, ccache*> const&) +
 397 (stl_tree.h:1008)
 4   libmacruby.1.9.2.dylib              0x00000001006b7394
 RoxorCore::constant_cache_get(unsigned long) + 260 (vm.cpp:788)
 5   fileutils.rbo                       0x00000001025661b0 0x102549000 +
 119216
 6   fileutils.rbo                       0x000000010254abac
 MREP_211FE1EE56634397A16501F3704E7C18 + 12
 7   libmacruby.1.9.2.dylib              0x00000001006c9160 rb_vm_dln_load
 + 128 (vm.h:1130)
 8   libmacruby.1.9.2.dylib              0x0000000100653f34 dln_load + 493
 (dln.c:132)
 9   libmacruby.1.9.2.dylib              0x00000001005a1901 rb_require_safe
 + 253 (load.c:298)
 10  libmacruby.1.9.2.dylib              0x00000001005a12d7 rb_f_require +
 32 (load.c:145)
 11  libmacruby.1.9.2.dylib              0x00000001005a12fa
 rb_f_require_imp + 33 (load.c:151)
 12  libmacruby.1.9.2.dylib              0x00000001006ab78a rb_vm_dispatch
 + 5773 (dispatcher.cpp:161)
 13  ???                                 0x00000001023ee634 0 + 4332643892
 14  ???                                 0x00000001023ee162 0 + 4332642658
 15  libmacruby.1.9.2.dylib              0x00000001006ca996 rb_vm_run + 470
 (vm.cpp:4135)
 16  libmacruby.1.9.2.dylib              0x0000000100598998 ruby_run_node +
 93 (eval.c:212)
 17  macruby                             0x0000000100569be3 main + 173
 (main.cpp:40)
 18  macruby                             0x00000001005699ec start + 52
 }}}

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



More information about the macruby-tickets mailing list