DESC Unbelievable but true: the server never really locked the object when acquiring it due to being in a waitqueue, so two users could be told simultaneously that they acquired it. EDESC Well, I'm really stupid, I can't believe how I never noticed this. On the waking up path, we never marked the object locked! So we returned true to the one in the waitqueue (but don't really grant him the lock), and also to the next one, and so on. I'm ashamed. Thanks to Ron Burkey for reporting this embarrasing bug.