Jenkins : Slave JVM freezes on Windows when started from SSH

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