Search code examples
ruby-on-railsrubyrubygems

uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)


rails 6.1.7.10

ruby 2.6.6.

Just did a bundle update to 6.1.7.10 from 6.1.7.8 Now running the application I receive the following error:

/home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `module:LoggerThreadSafeLevel': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)

traceback shows:

...   
14: from /home/cb/work/sb/config/environment.rb:2:in `<top (required)>'
13: from /home/cb/work/sb/config/environment.rb:2:in `require_relative'
12: from /home/cb/work/sb/config/application.rb:3:in `<top (required)>'
11: from /home/cb/work/sb/config/application.rb:3:in `require'
10: from /home/cb/.gem/ruby/2.6.6/gems/railties-6.1.7.10/lib/rails.rb:7:in `<top (required)>'
 9: from /home/cb/.gem/ruby/2.6.6/gems/railties-6.1.7.10/lib/rails.rb:7:in `require'
 8: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `<top (required)>'
 7: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `require'
 6: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `<top (required)>'
 5: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `require'
 4: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `<top (required)>'
 3: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `require'
 2: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:8:in `<top (required)>'
 1: from /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
 /home/cb/.gem/ruby/2.6.6/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `<module:LoggerThreadSafeLevel>': uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger (NameError)

rails console is unaffected

unable to find why this is now happening in the application


Solution

  • concurrent-ruby v1.3.5 has removed the dependency on logger

    https://github.com/ruby-concurrency/concurrent-ruby/commit/d7ce956dacd0b772273d39b8ed31a30cff7ecf38

    Just block the gem into your gemfile to the previous version

    gem 'concurrent-ruby', '1.3.4'
    

    or update rails to 7.1, all Rails versions before are affected by this issue because they have a direct dependency on concurrent

    enter image description here

    https://github.com/rails/rails/issues/54260