Ciao, quando usi risorse come readers writers locks ecc le tue chiamate ai .close() e lock.release() devono stare dentro un blocco finally, altrimenti se hai un eccezione non chiudi/rilasci niente.
Non sò se è questo che ti crea problemi ma intanto correggi.