Details
-
Improvement
-
Status: Reopened (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
Description
Often, the code that handles lost connection and report that problem is different from code that uses proxies that go over this channel. Example stack trace:
15:44:26 java.io.IOException: Backing channel is disconnected. 15:44:26 at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:184) 15:44:26 at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:249) 15:44:26 at com.sun.proxy.$Proxy104.isAlive(Unknown Source) 15:44:26 at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:996) 15:44:26 at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:166) 15:44:26 at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:853) 15:44:26 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) 15:44:26 at hudson.model.Run.execute(Run.java:1738) 15:44:26 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) 15:44:26 at hudson.model.ResourceController.execute(ResourceController.java:98) 15:44:26 at hudson.model.Executor.run(Executor.java:410)
The error diagnostics is easier if the cause of the channel loss is linked to this exception.
I am also getting this almost every day with the volume of jobs we have on the server. Either that or a job hangs forever and never completes.
My slaves run in lxd containers,
jenkins 2.131,
java.io.IOException: Backing channel '005-lxd-ubuntu_16.04-x86_64' is disconnected.
at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:214)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:283)
at com.sun.proxy.$Proxy73.isAlive(Unknown Source)
at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1137)
at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1129)
at hudson.Launcher$ProcStarter.join(Launcher.java:464)
at hudson.plugins.gradle.Gradle.performTask(Gradle.java:333)
at hudson.plugins.gradle.Gradle.perform(Gradle.java:225)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.Build$BuildExecution.build(Build.java:206)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
at hudson.model.Run.execute(Run.java:1815)
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 by: java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2679)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3154)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
at hudson.remoting.Command.readFrom(Command.java:140)
at hudson.remoting.Command.readFrom(Command.java:126)
at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)