[MacRuby] #843: Can't load the same files with MultiThread at the same time.

MacRuby ruby-noreply at macosforge.org
Tue Aug 10 07:23:42 PDT 2010


#843: Can't load the same files with MultiThread at the same time.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------
 Test Script:
 {{{
 #!ruby
 $ cat test_load.rb
 COUNT = 5
 FILE  = "tmp-load-test.rb"

 open(FILE, "w") {|f|
   f.puts "module TEST"
   f.puts "end"
 }

 val = (1..COUNT).map {|i|
   Thread.start {
     load "./#{FILE}"
     TEST
   }
 }.map {|t| t.value }

 COUNT.times do |i|
   p val[i] == TEST ? :ok : :ng;
 end
 }}}

 Result of Ruby 1.9.1:
 {{{
 $ ruby test_load.rb
 :ok
 :ok
 :ok
 :ok
 :ok
 }}}

 Result of MacRuby Trunk:
 {{{
 $ macruby test_load.rb
 Assertion failed: (ResultPass && "getAnalysis*() called on an analysis
 that was not " "'required' by pass!"), function getAnalysisID, file
 /Users/watson/src/llvm-trunk-106781/include/llvm/PassAnalysisSupport.h,
 line 215.
 zsh: abort      DYLD_LIBRARY_PATH=. ./macruby -I./lib test_load.rb
 $ macruby test_load.rb
 unknown: warning: already initialized constant TEST
 zsh: segmentation fault  macruby test_load.rb
 $ macruby test_load.rb
 macruby(17524,0x10458d000) malloc: *** error for object 0x1016725b0:
 pointer being freed was not allocated
 *** set a breakpoint in malloc_error_break to debug
 zsh: abort      macruby test_load.rb
 $ macruby test_load.rb
 :ok
 :ok
 :ok
 :ok
 :ok
 }}}

 Sometimes, Test Script succeeds to run.

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



More information about the macruby-tickets mailing list