Project

General

Profile

Actions

Bug #31814

closed

Host package actions raising an ISE sporadically

Added by Partha Aji about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Hosts
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

After this PR is merged to master https://github.com/Katello/katello/pull/9088

Package install/update/remove actions sporadically seem ot be failing with `input[:content]` as nil.

1) Register a consumer, with katello-agent installed
2) Content Host-> Package -> Actions
3) Try doing a package install.

Expected:
Clean install

Actual:
Error along `undefined method `join' for nil:NilClass (NoMethodError)`

This seems to be sporadically occuring.

Here is the full stack trace


Install package for centos7.sparta.example.com undefined method `join' for nil:NilClass (NoMethodError) /home/vagrant/katello/app/lib/actions/katello/host/package/install.rb:28:in `humanized_input' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/app/models/foreman_tasks/task/dynflow_task.rb:200:in `get_humanized' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/app/models/foreman_tasks/task.rb:235:in `to_label' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/app/models/foreman_tasks/task/dynflow_task.rb:253:in `set_action_field' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:428:in `block in make_lambda' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:249:in `block in halting' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:517:in `block in invoke_after' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:517:in `each' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:517:in `invoke_after' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:136:in `run_callbacks' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:825:in `_run_validation_callbacks' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activemodel-6.0.3.4/lib/active_model/validations/callbacks.rb:117:in `run_validations!' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activemodel-6.0.3.4/lib/active_model/validations.rb:337:in `valid?' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/validations.rb:68:in `valid?' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/validations.rb:84:in `perform_validations' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/validations.rb:53:in `save!' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/transactions.rb:318:in `block in save!' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activesupport-6.0.3.4/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `transaction' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/transactions.rb:212:in `transaction' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/transactions.rb:366:in `with_transaction_returning_status' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/transactions.rb:318:in `save!' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/activerecord-6.0.3.4/lib/active_record/suppressor.rb:48:in `save!' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/app/models/foreman_tasks/task/dynflow_task.rb:24:in `update_from_dynflow' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/lib/foreman_tasks/dynflow/persistence.rb:40:in `on_execution_plan_save' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/lib/foreman_tasks/dynflow/persistence.rb:11:in `block in save_execution_plan' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/lib/foreman_tasks/dynflow/persistence.rb:10:in `tap' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/foreman-tasks-3.0.3/lib/foreman_tasks/dynflow/persistence.rb:10:in `save_execution_plan' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/persistence.rb:74:in `save_execution_plan' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:439:in `save' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:145:in `update_state' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/director.rb:285:in `update_execution_plan_state' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/director.rb:225:in `finish_manager' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/director.rb:214:in `unless_done' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/director.rb:177:in `work_finished' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/executors/abstract/core.rb:45:in `work_finished' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/actor.rb:7:in `on_message' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/executors/abstract/core.rb:113:in `on_message' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/context.rb:46:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/executes_context.rb:7:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/actor.rb:106:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/awaits.rb:15:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/actor.rb:47:in `block in on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/actor.rb:59:in `with_backtrace' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/dynflow-1.4.7/lib/dynflow/actor.rb:47:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:38:in `process_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:31:in `process_envelopes?' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:20:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/termination.rb:55:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/removes_child.rb:10:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in `pass' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:162:in `process_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:96:in `block in on_envelope' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:119:in `block (2 levels) in schedule_execution' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:116:in `block in schedule_execution' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:18:in `call' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:96:in `work' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:77:in `block in call_job' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/concurrent-ruby-1.1.8/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker' /home/vagrant/foreman/.vendor/ruby/2.5.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'

Actions #1

Updated by Ian Ballou about 3 years ago

  • Target version set to Katello Backlog
  • Triaged changed from No to Yes
Actions #2

Updated by Ian Ballou about 3 years ago

Triage to 4.0.z if this is a real issue.

Actions #3

Updated by Chris Roberts about 3 years ago

  • Status changed from New to Closed
  • Assignee set to Chris Roberts
  • Target version changed from Katello Backlog to Katello Recycle Bin

Tried 2 content hosts, both CentOS7/8 and tried installing/updating/removing packages as well as an errata install and I was unable to hit the issue.

There were 20 tasks in total and none of them failed with the traceback in the Redmine. I even tried installing fake packages and didn't get the traceback. Closing this out.

Actions

Also available in: Atom PDF