#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/>