[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