Hi, I believe, that I've found a race condition in org.apache.zookeeper.server.InvalidSnapshotTest In this test the server is closed before the client. The client, on close(), submits as last package with type ZooDefs.OpCode.closeSession and waits for this package to be finished. However, nobody is there to awake the thread from packet.wait(). The sendThread will on cleanup call packet.notifyAll() in finishpackage. The race condition is: If an exception occurs in the sendThread, closing is already true, so the sendThread breaks out of it's loop, calls cleanup and finishes. If this happens, before the main thread calls packet.wait() then there's nobody left to awake the main thread.
Regards, Thomas Koch, http://www.koch.ro