Issue #7530 has been reported by headius (Charles Nutter). ---------------------------------------- Bug #7530: Concurrent loads fail with mutex errors https://bugs.ruby-lang.org/issues/7530 Author: headius (Charles Nutter) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] I have no idea what's going on here. jruby-1.7.0 ~/projects/vts-jruby $ cat bench_load_path.rb require 'benchmark' FAKE_PATHS = ARGV[0].to_i || 100 THREADS = 8 ITERATIONS_PER_THREAD = 1000 FAKE_PATHS.times do |i| $:.unshift "foo#{i}" end $: << '.' system 'touch __load_path_bench_script__.rb' puts Benchmark.measure { @threads = THREADS.times.map do Thread.new { ITERATIONS_PER_THREAD.times do require '__load_path_bench_script__' $".pop end } end @threads.each { |t| t.join } } system 'rm __load_path_bench_script__.rb' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 -rubygems bench_load_path.rb 100 /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require': wrong argument type false (expected mutex) (TypeError) from /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 --disable-gems bench_load_path.rb 100 bench_load_path.rb:18:in `require': wrong argument type false (expected mutex) (TypeError) from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' With verbose on, I get this error and a bunch of circular require warnings, even though I'm not doing any circular requires here. ruby-2.0.0-preview2 ~/projects/vts-jruby $ ruby -v bench_load_path.rb ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require': Attempt to unlock a mutex which is locked by another thread (ThreadError) from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>'
on 2012-12-07 00:22
on 2012-12-22 18:06
Issue #7530 has been updated by kosaki (Motohiro KOSAKI).
Assignee changed from kosaki (Motohiro KOSAKI) to nobu (Nobuyoshi
Nakada)
When removing $".pop likes following, this issue never happen.
So, I suspect this is require and threadshield issue.
-------------------------------
require 'benchmark'
FAKE_PATHS = ARGV[0].to_i || 100
THREADS = 2
ITERATIONS_PER_THREAD = 1000
FAKE_PATHS.times do |i|
$:.unshift "foo#{i}"
end
$: << '.'
ITERATIONS_PER_THREAD.times {|i|
system "touch __load_path_bench_script__#{i}.rb"
}
puts Benchmark.measure {
@threads = THREADS.times.map do
Thread.new {
ITERATIONS_PER_THREAD.times do |i|
require "__load_path_bench_script__#{i}"
end
}
end
@threads.each { |t| t.join }
}
ITERATIONS_PER_THREAD.times {|i|
system "rm __load_path_bench_script__#{i}.rb"
}
----------------------------------------
Bug #7530: Concurrent loads fail with mutex errors
https://bugs.ruby-lang.org/issues/7530#change-35014
Author: headius (Charles Nutter)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2]
I have no idea what's going on here.
jruby-1.7.0 ~/projects/vts-jruby $ cat bench_load_path.rb
require 'benchmark'
FAKE_PATHS = ARGV[0].to_i || 100
THREADS = 8
ITERATIONS_PER_THREAD = 1000
FAKE_PATHS.times do |i|
$:.unshift "foo#{i}"
end
$: << '.'
system 'touch __load_path_bench_script__.rb'
puts Benchmark.measure {
@threads = THREADS.times.map do
Thread.new {
ITERATIONS_PER_THREAD.times do
require '__load_path_bench_script__'
$".pop
end
}
end
@threads.each { |t| t.join }
}
system 'rm __load_path_bench_script__.rb'
jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 -rubygems
bench_load_path.rb 100
/usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require':
wrong argument type false (expected mutex) (TypeError)
from /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 --disable-gems
bench_load_path.rb 100
bench_load_path.rb:18:in `require': wrong argument type false (expected
mutex) (TypeError)
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
With verbose on, I get this error and a bunch of circular require
warnings, even though I'm not doing any circular requires here.
ruby-2.0.0-preview2 ~/projects/vts-jruby $ ruby -v bench_load_path.rb
ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2]
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require': Attempt to unlock a mutex which is locked by another thread
(ThreadError)
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
on 2012-12-25 21:49
Issue #7530 has been updated by nobu (Nobuyoshi Nakada). Priority changed from Normal to High ---------------------------------------- Bug #7530: Concurrent loads fail with mutex errors https://bugs.ruby-lang.org/issues/7530#change-35075 Author: headius (Charles Nutter) Status: Assigned Priority: High Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] I have no idea what's going on here. jruby-1.7.0 ~/projects/vts-jruby $ cat bench_load_path.rb require 'benchmark' FAKE_PATHS = ARGV[0].to_i || 100 THREADS = 8 ITERATIONS_PER_THREAD = 1000 FAKE_PATHS.times do |i| $:.unshift "foo#{i}" end $: << '.' system 'touch __load_path_bench_script__.rb' puts Benchmark.measure { @threads = THREADS.times.map do Thread.new { ITERATIONS_PER_THREAD.times do require '__load_path_bench_script__' $".pop end } end @threads.each { |t| t.join } } system 'rm __load_path_bench_script__.rb' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 -rubygems bench_load_path.rb 100 /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require': wrong argument type false (expected mutex) (TypeError) from /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 --disable-gems bench_load_path.rb 100 bench_load_path.rb:18:in `require': wrong argument type false (expected mutex) (TypeError) from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' With verbose on, I get this error and a bunch of circular require warnings, even though I'm not doing any circular requires here. ruby-2.0.0-preview2 ~/projects/vts-jruby $ ruby -v bench_load_path.rb ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require': Attempt to unlock a mutex which is locked by another thread (ThreadError) from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>'
on 2013-01-08 03:41
Issue #7530 has been updated by Glass_saga (Masaki Matsushita).
Here is the minimal code:
THREADS = 2
ITERATIONS_PER_THREAD = 1000
system 'touch __load_path_bench_script__.rb'
THREADS.times.map {
Thread.new do
ITERATIONS_PER_THREAD.times do
require_relative '__load_path_bench_script__'
$".pop
end
end
}.each(&:join)
system 'rm __load_path_bench_script__.rb'
----------------------------------------
Bug #7530: Concurrent loads fail with mutex errors
https://bugs.ruby-lang.org/issues/7530#change-35276
Author: headius (Charles Nutter)
Status: Assigned
Priority: High
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2]
I have no idea what's going on here.
jruby-1.7.0 ~/projects/vts-jruby $ cat bench_load_path.rb
require 'benchmark'
FAKE_PATHS = ARGV[0].to_i || 100
THREADS = 8
ITERATIONS_PER_THREAD = 1000
FAKE_PATHS.times do |i|
$:.unshift "foo#{i}"
end
$: << '.'
system 'touch __load_path_bench_script__.rb'
puts Benchmark.measure {
@threads = THREADS.times.map do
Thread.new {
ITERATIONS_PER_THREAD.times do
require '__load_path_bench_script__'
$".pop
end
}
end
@threads.each { |t| t.join }
}
system 'rm __load_path_bench_script__.rb'
jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 -rubygems
bench_load_path.rb 100
/usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require':
wrong argument type false (expected mutex) (TypeError)
from /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 --disable-gems
bench_load_path.rb 100
bench_load_path.rb:18:in `require': wrong argument type false (expected
mutex) (TypeError)
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
With verbose on, I get this error and a bunch of circular require
warnings, even though I'm not doing any circular requires here.
ruby-2.0.0-preview2 ~/projects/vts-jruby $ ruby -v bench_load_path.rb
ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2]
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:
warning: loading in progress, circular require considered harmful -
/Users/headius/projects/vts-jruby/__load_path_bench_script__.rb
from bench_load_path.rb:17:in `block (3 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require': Attempt to unlock a mutex which is locked by another thread
(ThreadError)
from
/Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in
`require'
from bench_load_path.rb:18:in `block (4 levels) in <main>'
from bench_load_path.rb:17:in `times'
from bench_load_path.rb:17:in `block (3 levels) in <main>'
on 2013-01-08 08:09
Issue #7530 has been updated by Glass_saga (Masaki Matsushita). Assignee changed from nobu (Nobuyoshi Nakada) to Glass_saga (Masaki Matsushita) ---------------------------------------- Bug #7530: Concurrent loads fail with mutex errors https://bugs.ruby-lang.org/issues/7530#change-35279 Author: headius (Charles Nutter) Status: Assigned Priority: High Assignee: Glass_saga (Masaki Matsushita) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] I have no idea what's going on here. jruby-1.7.0 ~/projects/vts-jruby $ cat bench_load_path.rb require 'benchmark' FAKE_PATHS = ARGV[0].to_i || 100 THREADS = 8 ITERATIONS_PER_THREAD = 1000 FAKE_PATHS.times do |i| $:.unshift "foo#{i}" end $: << '.' system 'touch __load_path_bench_script__.rb' puts Benchmark.measure { @threads = THREADS.times.map do Thread.new { ITERATIONS_PER_THREAD.times do require '__load_path_bench_script__' $".pop end } end @threads.each { |t| t.join } } system 'rm __load_path_bench_script__.rb' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 -rubygems bench_load_path.rb 100 /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require': wrong argument type false (expected mutex) (TypeError) from /usr/local/lib/ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' jruby-1.7.0 ~/projects/vts-jruby $ ruby-2.0.0 --disable-gems bench_load_path.rb 100 bench_load_path.rb:18:in `require': wrong argument type false (expected mutex) (TypeError) from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>' With verbose on, I get this error and a bunch of circular require warnings, even though I'm not doing any circular requires here. ruby-2.0.0-preview2 ~/projects/vts-jruby $ ruby -v bench_load_path.rb ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-darwin11.4.2] /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36: warning: loading in progress, circular require considered harmful - /Users/headius/projects/vts-jruby/__load_path_bench_script__.rb from bench_load_path.rb:17:in `block (3 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:18:in `block (4 levels) in <main>' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require': Attempt to unlock a mutex which is locked by another thread (ThreadError) from /Users/headius/.rvm/rubies/ruby-2.0.0-preview2/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require' from bench_load_path.rb:18:in `block (4 levels) in <main>' from bench_load_path.rb:17:in `times' from bench_load_path.rb:17:in `block (3 levels) in <main>'
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.