Skip to content

NoMethodError for Concurrent::Hash#deep_merge! #6547

@mohamedhafez

Description

@mohamedhafez

In JRuby version 9.2.14.0 Concurrent::Hash#deep_merge! is undefined, but it is defined for Ruby 2.6.6 Ruby 2.5.8. This is causing an error in my Rails app when upgrading to version 1.8.8 of the i18n gem, which uses the method (see ruby-i18n/i18n#554)

NoMethodError: undefined method `deep_merge!' for {}:Concurrent::Hash
Did you mean?  deep_merge
                      store_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:45
                               load_file at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:230
                                    each at org/jruby/RubyHash.java:1415
                               load_file at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:230
                       load_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:18
                                    each at org/jruby/RubyArray.java:1809
                       load_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/base.rb:18
                       init_translations at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:80
                             eager_load! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n/backend/simple.rb:65
                             eager_load! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/i18n-1.8.8/lib/i18n.rb:77
                                    each at org/jruby/RubyArray.java:1809
                                Finisher at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application/finisher.rb:123
                           instance_exec at org/jruby/RubyBasicObject.java:2694
                                     run at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32
                        run_initializers at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:61
                              tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:228
       each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:350
  each_strongly_connected_component_from at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:431
       each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:349
                                    each at org/jruby/RubyArray.java:1809
                                    call at org/jruby/RubyMethod.java:131
       each_strongly_connected_component at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:347
                              tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:226
                              tsort_each at /Users/mohamed/.rvm/rubies/jruby-9.2.14.0/lib/ruby/stdlib/tsort.rb:205
                        run_initializers at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:60
                             initialize! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application.rb:363
                                  <main> at /Users/mohamed/rubyprojects/substitutealert/config/environment.rb:33
                                 require at org/jruby/RubyKernel.java:974
                                 require at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324
                         load_dependency at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:291
                                 require at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324
                    require_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/application.rb:339
                    require_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/actions.rb:28
    require_application_and_environment! at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/actions.rb:15
                                 perform at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/commands/console/console_command.rb:101
                                     run at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor/command.rb:27
                          invoke_command at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor/invocation.rb:127
                                dispatch at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/thor-1.1.0/lib/thor.rb:392
                                 perform at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command/base.rb:69
                                  invoke at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/command.rb:46
                                  <main> at /Users/mohamed/.rvm/gems/jruby-9.2.14.0/gems/railties-6.0.3.4/lib/rails/commands.rb:18
                                 require at org/jruby/RubyKernel.java:974
                                  <main> at /Users/mohamed/rubyprojects/substitutealert/bin/rails:4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions