Bug #659
Thread dead lock in ActionManager.rb
Status: | Closed | Start date: | 05/23/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | Ruben S. Montero | % Done: | 0% | |
Category: | Core & System | |||
Target version: | - | |||
Resolution: | worksforme | Pull request: | ||
Affected Versions: | OpenNebula 3.0 |
Description
Hello,
It's possible for ActionManager threads to dead lock, periodic wake up (or `signalling') solves this. When deadlocked hosts will flip between INIT and MONITORING states until oned is restarted. Attached patch solves this by adding a new thread that every 5..15 seconds wakes up and signals, this has no side effects as if the queue is empty the thread wake-up will end up as a no-op anyway.
History
#1 Updated by Ruben S. Montero about 10 years ago
Hi,
Could you provide some details to reproduce this?
Thanks for the feedback and the patch!
Ruben
#2 Updated by Krzysztof Pawlik about 10 years ago
As with most race-conditions it was quite hard to reproduce, the original cause was that a call to signal() has been made before wait() was called on conditional. Such scenario occurs when the monitoring thread completes very quickly (for example dead host).
#3 Updated by Ruben S. Montero over 9 years ago
- Status changed from New to Closed
- Resolution set to worksforme
- Affected Versions OpenNebula 3.0 added
Closing this one as we can not verify this issue. Even with dummy drivers that returns immediately...