Project

General

Profile

Actions

Bug #12086

closed

Dynflow actions fail when Katello is run via Zeus in development

Added by Tomáš Strachota over 8 years ago. Updated almost 6 years ago.

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

Description

Katello fails to initialize dynflow in development setup with Zeus. Problem is probably forking in Zeus which causes ::Actions::Candlepin::ListenOnCandlepinEvents.ensure_running to be executed in wrong dynflow world. Dynflow actions then fail with "No live threads left. Deadlock?" exception.

Relevant part of logs from the "check world" action in dynflow console:

2015-10-07T13:24:10 [app] [I] Started POST "/foreman_tasks/dynflow/worlds/20347054-a335-42f0-90cb-5b0925ad4845/check" for 192.168.122.1
at 2015-10-07 13:24:10 +0000
2015-10-07 13:24:10 - fatal - No live threads left. Deadlock?:
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:72:in `sleep'
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:72:in `block (2 levels) in wait'
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:68:in `handle_interrupt'
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:68:in `block in wait'
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:66:in `handle_interrupt'
        /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/thread.rb:66:in `wait'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-0.9.1/lib/concurrent/synchronization/mutex_object.rb:33:in `ns_wait'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-0.9.1/lib/concurrent/synchronization/abstract_object.rb:72:in `ns_wait_until'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-edge-0.1.1/lib/concurrent/edge/future.rb:382:in `block in wait_until_complete'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-0.9.1/lib/concurrent/synchronization/mutex_object.rb:18:in `block in synchronize'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-0.9.1/lib/concurrent/synchronization/mutex_object.rb:18:in `synchronize'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-0.9.1/lib/concurrent/synchronization/mutex_object.rb:18:in `synchronize'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-edge-0.1.1/lib/concurrent/edge/future.rb:379:in `wait_until_complete'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/concurrent-ruby-edge-0.1.1/lib/concurrent/edge/future.rb:212:in `wait'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/dynflow-0.8.6/lib/dynflow/world.rb:302:in `each'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/dynflow-0.8.6/lib/dynflow/world.rb:302:in `worlds_validity_check'
        /usr/local/rvm/gems/ruby-2.0.0-p643/gems/dynflow-0.8.6/lib/dynflow/web/console.rb:48:in `block in <class:Console>'
...

Even though this doesn't touch production and is specific for the Zeus devel setup, it would be nice to fix.

Actions #1

Updated by The Foreman Bot over 8 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/5517 added
  • Pull request deleted ()
Actions #2

Updated by Tomáš Strachota over 8 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #3

Updated by Eric Helms over 8 years ago

  • translation missing: en.field_release set to 70
  • Triaged changed from No to Yes
Actions

Also available in: Atom PDF