Could not resolve extern slave went offline during the build
ERROR: Connection was broken: java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:40)
at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
Some time ago, a PPC/Mac OS X build slave used with Jenkins started consistently failing with a java.io.IOException: Unexpected termination of the channel due error on some Jenkins slaves.
Relaunching the agent showed the reason for the error was due to a java.lang.InternalError: Can't connect to window server exception.
This was fixed, based on some insight from StackOverflow, by setting -Djava.awt.headless=true in the Advanced/JVM Options for this host.