Thread sleeps forever on LoggedDataInputStream
Arjen Smedes <[email protected]> Mon, 25 Oct 2004 21:44:43 +0200
| Newsgroups | gmane.comp.java.netbeans.modules.javacvs.devel |
|---|---|
| Organization | Toolforge Open Source Development |
| Message-ID | <[email protected]> |
Hi, I have found a few issues that deal with multi-threading in the javacvs library. I haven't found the problem I am facing at the moment. I am running n parallel Client threads (RlogCommands or UpdateCommands) on a cvs repository. Sometimes it works fine, but sometimes my application blocks. If I debug the lot, it turns out that a few threads are waiting forever. Here's a snippet from the thread dump: "Thread-91" prio=1 tid=0x08073038 nid=0x2fc0 waiting on condition [4efa2000..4efa2cd0] at java.lang.Thread.sleep(Native Method) at org.netbeans.lib.cvsclient.util.LoggedDataInputStream.readLine(LoggedDataInputStream.java:51) at org.netbeans.lib.cvsclient.connection.PServerConnection.openConnection(PServerConnection.java:188) at org.netbeans.lib.cvsclient.connection.PServerConnection.open(PServerConnection.java:300) at org.netbeans.lib.cvsclient.Client.ensureConnection(Client.java:270) at org.netbeans.lib.cvsclient.command.log.RlogCommand.execute(RlogCommand.java:263) at org.netbeans.lib.cvsclient.Client.executeCommand(Client.java:533) at nl.toolforge.karma.core.vc.cvsimpl.CVSRunner.executeOnCVS(CVSRunner.java:564) at nl.toolforge.karma.core.vc.cvsimpl.CVSRunner.log(CVSRunner.java:453) at nl.toolforge.karma.core.vc.cvsimpl.threads.CVSLogThread.run(CVSLogThread.java:65) The more I increase "Thread.currentThread().sleep(200);" in LoggedDataInputStream.readLine(), the more certain I am from this blocking situation happening, although if I set it to 0, it happened to me as well. I haven't got a clue as yet. In the mean time, I'll keep looking myself, as it is blocking for my project. Any help is appreciated. Regards, Arjen.