Current docker upgrade fails


rake aborted!
NoMethodError: undefined method `each_pair' for nil:NilClass
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/hash/deep_merge.rb:22:in
 `deep_merge!'
/var/www/discourse/lib/js_locale_helper.rb:10:in `block in 
plugin_translations'
/var/www/discourse/lib/js_locale_helper.rb:9:in `each'
/var/www/discourse/lib/js_locale_helper.rb:9:in `plugin_translations'
/var/www/discourse/lib/js_locale_helper.rb:30:in `load_translations'
/var/www/discourse/lib/js_locale_helper.rb:67:in `block in 
load_translations_merged'
/var/www/discourse/lib/js_locale_helper.rb:66:in `each'
/var/www/discourse/lib/js_locale_helper.rb:66:in 
`load_translations_merged'
/var/www/discourse/lib/js_locale_helper.rb:89:in `translations_for'
/var/www/discourse/lib/js_locale_helper.rb:101:in `output_locale'
/var/www/discourse/app/assets/javascripts/locales/nl.js.erb:3:in 
`_evaluate_template'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/erb_processor.rb:26:in
 `call'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/erb_processor.rb:13:in
 `call'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:75:in
 `call_processor'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:57:in
 `block in call_processors'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in
 `reverse_each'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in
 `call_processors'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:134:in
 `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:60:in
 `block in load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:317:in
 `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:44:in
 `load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:20:in
 `block in initialize'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:47:in
 `load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/bundle.rb:23:in
 `block in call'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/utils.rb:196:in
 `dfs'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/bundle.rb:24:in
 `call'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:75:in
 `call_processor'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:57:in
 `block in call_processors'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in
 `reverse_each'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/processor_utils.rb:56:in
 `call_processors'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:134:in
 `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:60:in
 `block in load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:317:in
 `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/loader.rb:44:in
 `load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:20:in
 `block in initialize'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/cached_environment.rb:47:in
 `load'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/base.rb:66:in
 `find_asset'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/base.rb:73:in
 `find_all_linked_assets'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:134:in
 `block in find'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:133:in
 `each'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:133:in
 `find'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/sprockets/manifest.rb:185:in
 `compile'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:68:in
 `block (3 levels) in define'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-3.6.3/lib/rake/sprocketstask.rb:147:in
 `with_logger'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.1.1/lib/sprockets/rails/task.rb:67:in
 `block (2 levels) in define'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in
 `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Bundling assets
```

I’ll have a look. Recent commit of mine broke this.

4 Likes

Can I check what plugins do you have installed? The failing error is really odd

Looks like someone reported this and I did a dupe but:

I’m using:

  discourse  (9859bfb)
  babble  (604bbdb)
  RO buttons (adds some buttons, very simple plgin)  
  discourse-details
  discourse-feature-voting   (811f5e3)
  discourse-nginx-performance-report
  discourse-push-notifications  (c4d91a2)
  discourse-solved  (ed0a294)
  staff-notes  (d9db406)
  docker_manager  (a7b2562)
  lazyYT  
  poll 
  roauth_strategy (our login system)

Nothing fancy.

Also note your own travis-ci fails with the same error:
https://travis-ci.org/discourse/discourse/jobs/163850017

3 Likes

@eviltrout this has to be somehow related to the locale splitting you did

@carlokok Turns out it was blowing up due to discourse-feature-voting because it had a translation file with an incorrect locale key in it.

https://github.com/discourse/discourse-feature-voting/commit/116ff4cf86baaebc561aa41fa3b19eccf1494f71

I also made sure we don’t blow up if the locale key cannot be found.

https://github.com/discourse/discourse/commit/1c3992e57543699e1a0788cfb90a40404ae18161
https://github.com/discourse/discourse/commit/ccd75cf98704752525717be721fe87c6dab203b8

Thank you for reporting!

9 Likes