JIRA was down when I've created the issue
NodeProvisioner#getPendingLaunches() and NodeProvisioner#update() may get deadlocked if somebody retrieves a list of pending launches in the build scheduler. It
also applies to all other methods guarded by provisioningLock, because NodeProvisioner#update() locks the queue after locking provisioningLock.
Pull requests:
- https://github.com/jenkinsci/jenkins/pull/1777 (queue-locking implementation, declined)
- https://github.com/jenkinsci/jenkins/pull/1785 (lock-free implementation, accepted)
- links to
[JENKINS-30080] Possible deadlock between scheduleBuild() and NodeProvisioner updates
Environment | New: jenkins-1.607+ |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Labels | Original: deadlock queue | New: deadlock lts-candidate queue |
Labels | Original: deadlock lts-candidate queue | New: deadlock lts-candidate |
Labels | Original: deadlock lts-candidate | New: deadlock lts-candidate queue |
Labels | Original: deadlock lts-candidate queue | New: deadlock queue |
Workflow | Original: JNJira [ 165163 ] | New: JNJira + In-Review [ 197637 ] |
https://github.com/jenkinsci/jenkins/pull/1785 has been merged into 1.625