[Buildbot] #3176: Surprising deadlock behaviour
Buildbot trac
trac at buildbot.net
Wed Feb 4 06:06:50 UTC 2015
#3176: Surprising deadlock behaviour
-----------------------------+--------------------
Reporter: vlovich | Owner:
Type: enhancement | Status: new
Priority: patches-accepted | Milestone: 0.9.+
Version: 0.8.10 | Resolution:
Keywords: locks |
-----------------------------+--------------------
Comment (by vlovich):
The aborting feels a little too heavy-handed. I believe the reader
locking tries to avoid starving the writer lock. This is *normally* OK,
but runs into trouble when build A holds a reader lock & waits on build B
that acquires the same reader lock.
This causes the lock to be recursive but the fairness can cause lock
inversion. Thus, if there's any build waiting on your result, the read
lock should be greedy & ignore any pending builds trying to acquire a
write lock.
Of course, I don't know if that solves the problem full-out. I think so
because Trigger with wait_for_build is the only way to set up this
recursion at the moment.
--
Ticket URL: <http://trac.buildbot.net/ticket/3176#comment:4>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
More information about the bugs
mailing list