Jenkins remoting may fail to maintain connection between master and slave, and in such case can report a cryptic stacktrace in build console / jenkins log. This page gives some guidance on collecting adequate information to help diagnose the problem.
Failure mode on the master: On master, the details of the connection loss is captured into the slave log file, and not the build log. So you'll have to go find archived slave launch logs under $JENKINS_HOME/logs/slaves/*/slave.log*, which records 10 more recent connection logs to that slave. This information is also captured in the support bundle from Support Core Plugin under /nodes/slave/*/launchLog/*. If you look at the bottom of them, you can see how the last 10 connections to the slave has ended.
Failure mode on the client: Collect slave node jenkins-*.out.log and jenkins-*.err.log. This is where stdout and stderr from a JNLP slaves go. See what error is reported in there. Could be "java.net.SocketTimeoutException: Read timed out", as well as OutOfMemoryException, HotSpot JVM crash dump, etc.
So first disable and then disconnect the slave server once and again add and enable it.
For More details: https://issues.jenkins-ci.org/browse/JENKINS-6817