[#51213] [ruby-trunk - Bug #7645][Open] BigDecimal#== slow when compared to true/false — "mathie (Graeme Mathieson)" <mathie@...>

11 messages 2013/01/01

[#51328] [ruby-trunk - Bug #7676][Open] Comparison of Float::NAN in array behaves unexpectedly — "simonrussell (Simon Russell)" <spam+ruby@...>

11 messages 2013/01/09

[#51347] [ruby-trunk - Bug #7679][Open] IRB history is broken — "zzak (Zachary Scott)" <zachary@...>

15 messages 2013/01/10

[#51389] [ruby-trunk - Bug #7688][Open] Error hiding with rb_rescue() on Comparable#==, #coerce and others — "Eregon (Benoit Daloze)" <redmine@...>

34 messages 2013/01/11

[#51430] [ruby-trunk - Bug #7696][Open] Lazy enumerators with state can't be rewound — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

15 messages 2013/01/14

[#51437] [ruby-trunk - Bug #7698][Open] RubyGems 2.0 has an incompatibility about installation of extension libraries — "mrkn (Kenta Murata)" <muraken@...>

21 messages 2013/01/15

[#51454] [CommonRuby - Feature #7701][Open] Non-optional (required) keyword args — "headius (Charles Nutter)" <headius@...>

31 messages 2013/01/15

[#51499] [ruby-trunk - Feature #7712][Open] Add .txt extensions to all plain-text documentation files for Windows users — "postmodern (Hal Brodigan)" <postmodern.mod3@...>

9 messages 2013/01/18

[#51619] [ruby-trunk - Feature #7738][Open] Deprecate Set#+ as an alias of Set#|, use it for symmetric difference. Introduce Hash#| for Hash#reverse_merge in Rails. — "alexeymuranov (Alexey Muranov)" <redmine@...>

11 messages 2013/01/24

[#51623] [ruby-trunk - Feature #7739][Open] Define Hash#| as Hash#reverse_merge in Rails — "alexeymuranov (Alexey Muranov)" <redmine@...>

24 messages 2013/01/24

[#51714] [CommonRuby - Feature #7747][Open] Expanded API for Binding semantics — "jballanc (Joshua Ballanco)" <jballanc@...>

19 messages 2013/01/27

[#51742] [ruby-trunk - Bug #7756][Open] clang 3.2 sees through UNINITIALIZED_VAR macro, gives warning — "drbrain (Eric Hodel)" <drbrain@...7.net>

10 messages 2013/01/29

[#51763] [ruby-trunk - Bug #7758][Open] Ruby on Windows crashes when active codepage is codepage 65001 and outputting unicode character — "joshc (Josh C)" <josh.nw@...>

16 messages 2013/01/30

[ruby-core:51313] Re: [ruby-trunk - Bug #7530] Concurrent loads fail with mutex errors

From: Daniela Robles <daniela.robles15@...>
Date: 2013-01-08 07:42:12 UTC
List: ruby-core #51313
#unsubscribe

On Tue, Jan 8, 2013 at 2:09 AM, Glass_saga (Masaki Matsushita) <
glass.saga@gmail.com> wrote:

>
> 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>'
>
>
> --
> http://bugs.ruby-lang.org/
>
>

In This Thread