Dup_value error after upgrading in 3.4.0

Hi,
I have upgraded my Foreman in 3.4.0 on my dev env and I have this 500 error on log :

2022-09-21T17:32:05 [F|app|3ceccf3e]
3ceccf3e | NoMethodError (undefined method dup_value!' for #<Hash:0x0000558d6a6590d0>): 3ceccf3e | 3ceccf3e | lib/foreman/middleware/logging_context_request.rb:11:in call’
2022-09-21T17:32:13 [I|app|58fa312d] Started GET “/users/login” for 10.0.16.100 at 2022-09-21 17:32:13 +0200
2022-09-21T17:32:13 [I|app|58fa312d] Processing by UsersController#login as HTML
2022-09-21T17:32:14 [W|app|58fa312d] undefined method dup_value!' for 0:Integer 2022-09-21T17:32:14 [I|app|58fa312d] Backtrace for 'undefined method dup_value!’ for 0:Integer’ error (NoMethodError): undefined method dup_value!' for 0:Integer 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/cache/strategy/local_cache.rb:68:in write_entry’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/cache/strategy/local_cache.rb:162:in write_entry' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:145:in block (2 levels) in write’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/dalli/client.rb:263:in with' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:83:in with’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:143:in block in write' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:383:in block in instrument_with_log’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:392:in block in instrument' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/notifications.rb:205:in instrument’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:391:in instrument' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:383:in instrument_with_log’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:142:in write' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/active_support/cache/dalli_store.rb:116:in fetch’
58fa312d | /usr/share/foreman/app/services/foreman/bruteforce_protection.rb:10:in get_login_failures' 58fa312d | /usr/share/foreman/app/services/foreman/bruteforce_protection.rb:18:in bruteforce_attempt?’
58fa312d | /usr/share/foreman/app/controllers/concerns/foreman/controller/bruteforce_protection.rb:9:in bruteforce_attempt?' 58fa312d | /usr/share/foreman/app/controllers/users_controller.rb:113:in login’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/abstract_controller/base.rb:228:in process_action’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/rendering.rb:30:in process_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/abstract_controller/callbacks.rb:42:in block in process_action’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:117:in block in run_callbacks' 58fa312d | /usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in set_timezone’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' 58fa312d | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in clear_thread’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' 58fa312d | /usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in set_topbar_sweeper_controller’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/audited-4.10.0/lib/audited/sweeper.rb:14:in around’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/audited-4.10.0/lib/audited/sweeper.rb:14:in around’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:126:in block in run_callbacks' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:137:in run_callbacks’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/abstract_controller/callbacks.rb:41:in process_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/rescue.rb:22:in process_action’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/instrumentation.rb:34:in block in process_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/notifications.rb:203:in block in instrument’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/notifications/instrumenter.rb:24:in instrument' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/notifications.rb:203:in instrument’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/instrumentation.rb:33:in process_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal/params_wrapper.rb:249:in process_action’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activerecord-6.1.6.1/lib/active_record/railties/controller_runtime.rb:27:in process_action' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/abstract_controller/base.rb:165:in process’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionview-6.1.6.1/lib/action_view/rendering.rb:39:in process' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal.rb:190:in dispatch’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_controller/metal.rb:254:in dispatch' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/routing/route_set.rb:50:in dispatch’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/routing/route_set.rb:33:in serve' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/journey/router.rb:50:in block in serve’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/journey/router.rb:32:in each' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/journey/router.rb:32:in serve’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/routing/route_set.rb:842:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/apipie-dsl-2.5.0/lib/apipie_dsl/static_dispatcher.rb:67:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/apipie-rails-0.5.20/lib/apipie/static_dispatcher.rb:66:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/apipie-rails-0.5.20/lib/apipie/extractor/recorder.rb:137:in call’
58fa312d | /usr/share/foreman/lib/foreman/middleware/libvirt_connection_cleaner.rb:9:in call' 58fa312d | /usr/share/foreman/lib/foreman/middleware/telemetry.rb:10:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/apipie-rails-0.5.20/lib/apipie/middleware/checksum_in_headers.rb:27:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/tempfile_reaper.rb:15:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/etag.rb:27:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/conditional_get.rb:27:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/head.rb:12:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/http/permissions_policy.rb:22:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/http/content_security_policy.rb:19:in call' 58fa312d | /usr/share/foreman/lib/foreman/middleware/logging_context_session.rb:22:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/session/abstract/id.rb:266:in context' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/session/abstract/id.rb:260:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/cookies.rb:689:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/callbacks.rb:27:in block in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/callbacks.rb:98:in run_callbacks' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/callbacks.rb:26:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/debug_exceptions.rb:29:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/railties-6.1.6.1/lib/rails/rack/logger.rb:37:in call_app’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/railties-6.1.6.1/lib/rails/rack/logger.rb:28:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/sprockets-rails-3.4.2/lib/sprockets/rails/quiet_assets.rb:13:in call’
58fa312d | /usr/share/foreman/lib/foreman/middleware/logging_context_request.rb:11:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/remote_ip.rb:81:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/request_id.rb:26:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/method_override.rb:24:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/runtime.rb:22:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/activesupport-6.1.6.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/executor.rb:14:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/static.rb:24:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/sendfile.rb:110:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/ssl.rb:77:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/actionpack-6.1.6.1/lib/action_dispatch/middleware/host_authorization.rb:142:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/secure_headers-6.4.0/lib/secure_headers/middleware.rb:11:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/railties-6.1.6.1/lib/rails/engine.rb:539:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/railties-6.1.6.1/lib/rails/railtie.rb:207:in public_send’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/railties-6.1.6.1/lib/rails/railtie.rb:207:in method_missing' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/urlmap.rb:74:in block in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/urlmap.rb:58:in each' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/rack-2.2.4/lib/rack/urlmap.rb:58:in call’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/configuration.rb:252:in call' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/request.rb:77:in block in handle_request’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/thread_pool.rb:340:in with_force_shutdown' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/request.rb:76:in handle_request’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/server.rb:443:in process_client' 58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/puma-5.6.5/lib/puma/thread_pool.rb:147:in block in spawn_thread’
58fa312d | /usr/share/foreman/vendor/ruby/2.7.0/gems/logging-2.3.1/lib/logging/diagnostic_context.rb:474:in block in create_with_logging_context' 2022-09-21T17:32:14 [I|app|58fa312d] Rendered common/500.html.erb within layouts/application (Duration: 2.4ms | Allocations: 840) 2022-09-21T17:32:14 [I|app|58fa312d] Rendered layouts/base.html.erb (Duration: 3.0ms | Allocations: 2119) 2022-09-21T17:32:14 [I|app|58fa312d] Rendered layout layouts/application.html.erb (Duration: 7.3ms | Allocations: 3863) 2022-09-21T17:32:14 [I|app|58fa312d] Completed 500 Internal Server Error in 19ms (Views: 11.8ms | ActiveRecord: 0.3ms | Allocations: 7579) 2022-09-21T17:32:14 [F|app|58fa312d] 58fa312d | NoMethodError (undefined method dup_value!’ for #Hash:0x0000558d6a345bc8):
58fa312d |
58fa312d | lib/foreman/middleware/logging_context_request.rb:11:in `call’

Do you have any idea about these ?

Thanks.
Florent.

Hi,
I have replaced “dalli_store” by “mem_cache_store” in there files and it fixed the error :

  • vendor/ruby/2.7.0/gems/dalli-2.7.8/lib/dalli/railtie.rb
  • vendor/ruby/2.7.0/gems/foreman_memcache-0.1.1/lib/foreman_memcache.rb

Source : undefined method `dup_value!' with dalli 2.7.11 and rails 6.1 · Issue #771 · petergoldstein/dalli · GitHub

Florent.