Project

General

Profile

Actions

Bug #24648

closed

undefined method `with_indifferent_access' for #<String:0x00000008ecc658> (NoMethodError)

Added by Björn Zettergren almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Found in Releases:

Description

When importing facts from a host via API request we get


NoMethodError
undefined method `[]' for nil:NilClass

and the following trace:


---
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/foreman/host/import_facts.rb:28:in
  `block in run'" 
- "/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:94:in `as'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/foreman/host/import_facts.rb:27:in
  `run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:538:in
  `block (3 levels) in execute_run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:26:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware.rb:18:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/middleware/rails_executor_wrap.rb:14:in
  `block in run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.1.6/lib/active_support/execution_wrapper.rb:85:in
  `wrap'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/middleware/rails_executor_wrap.rb:13:in
  `run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:22:in
  `call'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:26:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware.rb:18:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action/progress.rb:30:in
  `with_progress_calculation'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action/progress.rb:16:in
  `run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:22:in
  `call'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:26:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware.rb:18:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/middleware/keep_current_user.rb:15:in
  `block in run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/middleware/keep_current_user.rb:43:in
  `restore_curent_user'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/foreman-tasks-0.13.2/app/lib/actions/middleware/keep_current_user.rb:15:in
  `run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:22:in
  `call'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:26:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware.rb:18:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware.rb:31:in
  `run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/stack.rb:22:in
  `call'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/middleware/world.rb:30:in
  `execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:537:in
  `block (2 levels) in execute_run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:536:in
  `catch'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:536:in
  `block in execute_run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:451:in
  `block in with_error_handling'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:451:in
  `catch'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:451:in
  `with_error_handling'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:531:in
  `execute_run'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/action.rb:278:in
  `execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:17:in
  `block (2 levels) in execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/execution_plan/steps/abstract.rb:162:in
  `with_meta_calculation'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:16:in
  `block in execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:30:in
  `open_action'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:15:in
  `execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/director.rb:43:in
  `execute'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/executors/parallel/worker.rb:12:in
  `block in on_message'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/executors.rb:12:in
  `run_user_code'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/executors/parallel/worker.rb:11:in
  `on_message'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/context.rb:46:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/executes_context.rb:7:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/dynflow-1.1.0/lib/dynflow/actor.rb:26:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/awaits.rb:15:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/sets_results.rb:14:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:38:in
  `process_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:31:in
  `process_envelopes?'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:20:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/termination.rb:55:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/removes_child.rb:10:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/sets_results.rb:14:in
  `on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:161:in
  `process_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:95:in
  `block in on_envelope'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:118:in
  `block (2 levels) in schedule_execution'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in
  `block in synchronize'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in
  `synchronize'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in
  `synchronize'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:115:in
  `block in schedule_execution'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:18:in
  `call'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:96:in
  `work'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:77:in
  `block in call_job'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in
  `run_task'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in
  `block (3 levels) in create_worker'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in
  `loop'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in
  `block (2 levels) in create_worker'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in
  `catch'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in
  `block in create_worker'" 
- "/usr/share/foreman/vendor/ruby/2.3.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in
  `block in create_with_logging_context'" 

I've tried sending very small custom jsons with only one fact in them, and they also fail in the same manner.

How can we troubleshoot this further?


Related issues 3 (1 open2 closed)

Related to foreman-tasks - Bug #24872: Update ImportFacts to not pass proxy_id to @import_host@ClosedIvan NecasActions
Related to Chef - Bug #24888: NoMethodError when importing facts from hostClosedIvan NecasActions
Related to Templates - Bug #37234: Template import fails in Foreman 3.9.1NewActions
Actions

Also available in: Atom PDF