title: Jenkins slaves are disconnecting and builds are failing with Unexpected termination of the channel
body: <p>Suddenly we are experiencing the Jenkins build failures with the following message.</p>
  <p>I checked the connectivity between salves and master seems fine and no packet loss observed. also no change. May I know what could be the cause. all slaves are mac pro servers.
  Git Path is updated in node configuration <strong>/usr/loal/bin</strong> and all are <strong>ssh</strong> clients.</p>
  <pre><code>FATAL: java.io.IOException: Unexpected termination of the channel
  java.io.EOFException
   at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2735)
   at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3210)
   at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:895)
   at java.io.ObjectInputStream.&lt;init&gt;(ObjectInputStream.java:357)
   at hudson.remoting.ObjectInputStreamEx.&lt;init&gt;(ObjectInputStreamEx.java:49)
   at hudson.remoting.Command.readFrom(Command.java:142)
   at hudson.remoting.Command.readFrom(Command.java:128)
   at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35)
   at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:61)
  Caused: java.io.IOException: Unexpected termination of the channel
   at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:75)
  Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to salve1
   at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800)
   at hudson.remoting.Request.call(Request.java:199)
   at hudson.remoting.Channel.call(Channel.java:1000)
   at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
   at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
   at com.sun.proxy.$Proxy114.execute(Unknown Source)
   at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1221)
   at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1299)
   at hudson.scm.SCM.checkout(SCM.java:505)
   at hudson.model.AbstractProject.checkout(AbstractProject.java:1204)
   at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:636)
   at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
   at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:508)
   at hudson.model.Run.execute(Run.java:1907)
   at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
   at hudson.model.ResourceController.execute(ResourceController.java:97)
   at hudson.model.Executor.run(Executor.java:429)
  Caused: hudson.remoting.RequestAbortedException
   at hudson.remoting.Request.abort(Request.java:345)
   at hudson.remoting.Channel.terminate(Channel.java:1085)
   at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:89)````
  </code></pre>