I can't see where you use the read lock? bug or wrong lock type?