Upgrade from 3.3.1 to higher result Action Fail undefined method `dup_value!'

Problem:

Upgrading cause error below.

bcb9ae1a | katello (4.7.2) lib/katello/prevent_json_parsing.rb:12:in call' 2023-02-17T14:06:37 [I|app|3d84be4e] Started GET "/api/v2/hosts?search=name%3D%22my-foreman.domain.local%22" for 192.168.0.1 at 2023-02-17 14:06:37 +0100 2023-02-17T14:06:37 [I|app|3d84be4e] Processing by Api::V2::HostsController#index as JSON 2023-02-17T14:06:37 [I|app|3d84be4e] Parameters: {"search"=>"name=\"my-foreman.domain.local\"", "apiv"=>"v2", "host"=>{}} 2023-02-17T14:06:37 [W|app|3d84be4e] Action failed 2023-02-17T14:06:37 [I|app|3d84be4e] Backtrace for 'Action failed' error (NoMethodError): undefined method dup_value!’ for 0:Integer

Expected outcome:

Foreman and Proxy versions:
3.3.1
Foreman and Proxy plugin versions:

  • ansible-collection-theforeman-foreman-3.4.0-1.el8.noarch
  • ansible-collection-theforeman-operations-1.1.0-1.el8.noarch
  • ansiblerole-foreman_scap_client-0.2.0-2.el8.noarch
  • candlepin-4.1.11-1.el8.noarch
  • candlepin-selinux-4.1.11-1.el8.noarch
  • foreman-3.3.1-1.el8.noarch
  • foreman-cli-3.3.1-1.el8.noarch
  • foreman-client-release-3.3.1-1.el8.noarch
  • foreman-debug-3.3.1-1.el8.noarch
  • foreman-dynflow-sidekiq-3.3.1-1.el8.noarch
  • foreman-installer-3.3.1-2.el8.noarch
  • foreman-installer-katello-3.3.1-2.el8.noarch
  • foreman-postgresql-3.3.1-1.el8.noarch
  • foreman-proxy-3.3.1-1.el8.noarch
  • foreman-release-3.4.0-1.el8.noarch
  • foreman-selinux-3.3.1-1.el8.noarch
  • foreman-service-3.3.1-1.el8.noarch
  • foreman-vmware-3.3.1-1.el8.noarch
  • katello-4.5.1-1.el8.noarch
  • katello-certs-tools-2.9.0-1.el8.noarch
  • katello-client-bootstrap-1.7.9-1.el8.noarch
  • katello-common-4.5.1-1.el8.noarch
  • katello-debug-4.5.1-1.el8.noarch
  • katello-repos-4.5.1-1.el8.noarch
  • katello-selinux-4.0.2-1.el8.noarch
  • pulpcore-selinux-1.3.2-1.el8.x86_64
  • python39-pulp-ansible-0.13.2-2.el8.noarch
  • python39-pulp-certguard-1.5.2-3.el8.noarch
  • python39-pulp-cli-0.14.0-4.el8.noarch
  • python39-pulp-container-2.10.9-1.el8.noarch
  • python39-pulp-deb-2.18.0-3.el8.noarch
  • python39-pulp-file-1.10.2-2.el8.noarch
  • python39-pulp-ostree-2.0.0-0.7.a5.el8.noarch
  • python39-pulp-python-3.7.1-1.el8.noarch
  • python39-pulp-rpm-3.18.7-1.el8.noarch
  • python39-pulpcore-3.18.10-1.el8.noarch
  • qpid-proton-c-0.37.0-1.el8.x86_64
  • rubygem-foreman-tasks-6.0.2-1.fm3_3.el8.noarch
  • rubygem-foreman_acd-0.9.3-1.fm3_3.el8.noarch
  • rubygem-foreman_ansible-7.1.4-1.fm3_3.el8.noarch
  • rubygem-foreman_azure_rm-2.2.7-1.fm3_3.el8.noarch
  • rubygem-foreman_bootdisk-19.0.7-1.fm3_3.el8.noarch
  • rubygem-foreman_column_view-0.4.0-6.fm3_3.el8.noarch
  • rubygem-foreman_discovery-21.0.4-1.fm3_4.el8.noarch
  • rubygem-foreman_expire_hosts-7.0.4-4.fm3_3.el8.noarch
  • rubygem-foreman_hooks-0.3.17-3.fm3_3.el8.noarch
  • rubygem-foreman_host_reports-1.0.2-3.fm3_3.el8.noarch
  • rubygem-foreman_kubevirt-0.1.9-4.fm3_3.el8.noarch
  • rubygem-foreman_leapp-0.1.10-2.fm3_3.el8.noarch
  • rubygem-foreman_maintain-1.2.1-1.el8.noarch
  • rubygem-foreman_memcache-0.1.1-5.fm3_3.el8.noarch
  • rubygem-foreman_openscap-5.2.2-2.fm3_3.el8.noarch
  • rubygem-foreman_remote_execution-7.2.2-1.fm3_3.el8.noarch
  • rubygem-foreman_remote_execution-cockpit-7.2.2-1.fm3_3.el8.noarch
  • rubygem-foreman_scap_client-0.5.0-1.el8.noarch
  • rubygem-foreman_setup-8.0.1-2.fm3_3.el8.noarch
  • rubygem-foreman_snapshot_management-2.0.1-1.fm2_6.el8.noarch
  • rubygem-foreman_statistics-2.0.1-3.fm3_3.el8.noarch
  • rubygem-foreman_templates-9.3.0-1.fm3_3.el8.noarch
  • rubygem-foreman_webhooks-3.0.5-1.fm3_3.el8.noarch
  • rubygem-hammer_cli-3.3.0-1.el8.noarch
  • rubygem-hammer_cli_foreman-3.3.0-1.el8.noarch
  • rubygem-hammer_cli_foreman_ansible-0.3.4-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_foreman_azure_rm-0.2.2-1.fm3_1.el8.noarch
  • rubygem-hammer_cli_foreman_discovery-1.1.0-1.fm3_3.el8.noarch
  • rubygem-hammer_cli_foreman_host_reports-0.1.0-1.fm3_3.el8.noarch
  • rubygem-hammer_cli_foreman_kubevirt-0.1.5-1.fm3_1.el8.noarch
  • rubygem-hammer_cli_foreman_openscap-0.1.13-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_foreman_remote_execution-0.2.2-1.fm3_0.el8.noarch
  • rubygem-hammer_cli_foreman_tasks-0.0.17-1.fm3_2.el8.noarch
  • rubygem-hammer_cli_foreman_templates-0.2.0-2.fm2_5.el8.noarch
  • rubygem-hammer_cli_foreman_webhooks-0.0.3-1.fm3_3.el8.noarch
  • rubygem-hammer_cli_katello-1.5.3-1.el8.noarch
  • rubygem-katello-4.5.1-1.el8.noarch
  • rubygem-pulp_ansible_client-0.13.1-1.el8.noarch
  • rubygem-pulp_ansible_client-doc-0.13.1-1.el8.noarch
  • rubygem-pulp_certguard_client-1.5.0-1.el8.noarch
  • rubygem-pulp_container_client-2.10.3-1.el8.noarch
  • rubygem-pulp_deb_client-2.18.0-1.el8.noarch
  • rubygem-pulp_file_client-1.10.0-1.el8.noarch
  • rubygem-pulp_ostree_client-2.0.0-0.1.a1.el8.noarch
  • rubygem-pulp_python_client-3.6.0-1.el8.noarch
  • rubygem-pulp_rpm_client-3.17.4-1.el8.noarch
  • rubygem-pulpcore_client-3.18.5-1.el8.noarch
  • rubygem-qpid_proton-0.37.0-1.el8.x86_64
  • rubygem-smart_proxy_pulp-3.2.0-3.fm3_3.el8.noarch

Distribution and version:
NAME=“Rocky Linux”
VERSION=“8.6 (Green Obsidian)”

Other relevant data:

Patch log with code format below

bcb9ae1a | katello (4.7.2) lib/katello/prevent_json_parsing.rb:12:in `call'
2023-02-17T14:06:37 [I|app|3d84be4e] Started GET "/api/v2/hosts?search=name%3D%22my-foreman.domain.local%22" for 192.168.0.1 at 2023-02-17 14:06:37 +0100
2023-02-17T14:06:37 [I|app|3d84be4e] Processing by Api::V2::HostsController#index as JSON
2023-02-17T14:06:37 [I|app|3d84be4e]   Parameters: {"search"=>"name=\"my-foreman.domain.local\"", "apiv"=>"v2", "host"=>{}}
2023-02-17T14:06:37 [W|app|3d84be4e] Action failed
2023-02-17T14:06:37 [I|app|3d84be4e] Backtrace for 'Action failed' error (NoMethodError): undefined method `dup_value!' for 0:Integer
2023-02-17 14:21:25 [ERROR ] [configure] /Stage[main]/Foreman::Register/Foreman_host[foreman-my-foreman.domain.local]: Could not evaluate: Error making GET request to Foreman at https://my-foreman.domain.local/api/v2/hosts: Response: 500 Internal Server Error: Check /var/log/foreman/production.log on my-foreman.domain.local for detailed information
2023-02-17 14:21:26 [NOTICE] [configure] 1750 configuration steps out of 1776 steps complete.

the memcache plugin is broken since 3.4

see Dup_value error after upgrading in 3.4.0 for some details