Project

General

Profile

Bug #16486

dynflow may not start with many tasks in pending state, may segfault

Added by Ivan Necas over 2 years ago. Updated 5 months ago.

Status:
Closed
Priority:
High
Assignee:
-
Category:
-
Target version:
Difficulty:
Triaged:
Bugzilla link:
Team Backlog:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1372708
Description of problem:

If a user has many pending tasks and tries to start foreman-tasks, they may encounter the following stack trace:

/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/dataset/actions.rb:139:
[BUG] Stack consistency error (sp: 325, bp: 324)
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux-gnu]

-- Control frame information -----------------------------------------------
c:0075 p:0011 s:0325 e:000323 BLOCK
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/dataset/actions.rb:139
c:0074 p:0008 s:0321 e:000320 BLOCK
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/adapters/postgres.rb:655
c:0073 p:0021 s:0318 e:000317 BLOCK
/opt/theforeman/tfm/root/usr/share/gems/gems/sequel-4.20.0/lib/sequel/adapters/postgres.rb:878
[FINISH]

additionally, they may encounter this error:

E, [2016-09-01T16:50:22.444036 #27074] ERROR --
/connector-database-core: No executor available (Dynflow::Error)

E, [2016-09-01T16:50:22.444318 #27074] ERROR -- /client-dispatcher: No
executor available (Dynflow::Error)

Version-Release number of selected component (if applicable): 6.2.1 (tfm-rubygem-dynflow-0.8.11-1.el6sat.noarch)

How reproducible: not every time, race condition

Steps to Reproduce:
1. get a large number of tasks into pending state (not sure on best way to do this)
2. stop foreman-tasks
3. start foreman-tasks

NOTE: this bz is for a race condition, you may need to test multiple times to repro the bz

History

#1 Updated by Ivan Necas over 2 years ago

  • Subject changed from dynflow may not start with many tasks in pending state, may segfault to dynflow may not start with many tasks in pending state, may segfault
  • Status changed from New to Closed
  • Pull request https://github.com/Dynflow/dynflow/pull/198 added

#2 Updated by Ivan Necas over 2 years ago

  • Target version set to 1.6.1
  • Legacy Backlogs Release (now unused) set to 192

Also available in: Atom PDF