cvsnt - possible deadlock while tagging
Krzysztof Nowak <[email protected]> Mon, 20 Jul 2009 09:48:08 +0200
| Newsgroups | gmane.comp.version-control.cvs.windows-nt.user |
|---|---|
| Message-ID | <[email protected]> |
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 _______________________________________________ cvsnt mailing list [email protected] http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/