[cvsnt] cvsnt - possible deadlock while tagging
Krzysztof Nowak
k.nowak at osmosys.tv
Mon Jul 20 08:48:08 BST 2009
Hello,
We have installed cvsnt on Linux machine and we have found deadlock
while two tagging operations where issued by two clients on the whole
repository tree.
We have investigated the issue and it seems that (probably) there is
possibility, that while tagging there is lock upgrade:
We think that two processes gained full read lock, and then both of them
tried to obtain write lock which cannot succeed.
So clearly it is a possible deadlock, if there is a lock upgrade from
Full Read Lock to Full Write Lock.
Moreover the comment in request_lock() function does not match with
actual implementation.
For example there is possibility to get Full Write Lock if there are
Advisory Read Locks obtained by other clients, but is should not
be possible according to the comment in source code (version 2.5.04.3236).
Could you give some explanation of the locking strategy? Or just fix the
main problem: lock upgrade should not be allowed, because it can cause
deadlocks.
Best regards,
Krzysztof Nowak
More information about the cvsnt
mailing list