I've noticed on a few occasions that a slave JVM freezes when it's using stdout/stderr for communicating with the master. The characteristics of this problem is:
- Only on Windows
- Slave uses its stdout/stderr for communication. This includes launching a slave via command line and via SSH.
- You cannot attach JConsole to the hanging process
- Process Explorer fails to show you the thread list of the hanging process
We are continuing to work on the problem, but in the mean time, I discovered that adding a debug option to JVM "fixes" the problem. That is, start JVM like this:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=29999 -jar slave.jar