On Sat, Nov 1, 2008 at 12:17 PM, Mario Torre <neugens@xxxxxxxxxxxxxxxx> wrote: > I don't think this is a safe way of resolving bugs, maybe in this case > it is (but I have to look at the code), Well, certainly I don't think so either. Fixing this problem safely probably requires a careful analysis of the PushbackInputStream to see what really needs to be synchronized, and by what means. Unfortunately I simply don't have the time to go into it. > Maybe the problem is caused by some threads doing unrelated things, so > in this case having an object to use as semaphore, instead of "this", > may be of help. Agreed, that's a good idea. > Can you provide an example causing the deadlock? Well, unfortunately I don't have anything simpler than this: with an instance of the Apache commons.net FTPClient, open the session, do some operations, and then call FTPClient.disconnect. That deadlocks in PushbackInputStream. Sorry I can't be more specific. Robert Dodier