Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
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