We saw the same issue happening randomly on aws ec2 spot instances after upgrading to jenkins 2.46.2
[8:33 PM]
```20:27:29 FATAL: command execution failed
20:27:29 java.nio.channels.ClosedChannelException
20:27:29 at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:208)
20:27:29 at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:222)
20:27:29 at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:832)
20:27:29 at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:287)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:181)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.switchToNoSecure(SSLEngineFilterLayer.java:283)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processWrite(SSLEngineFilterLayer.java:503)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processQueuedWrites(SSLEngineFilterLayer.java:248)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doSend(SSLEngineFilterLayer.java:200)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doCloseSend(SSLEngineFilterLayer.java:213)
20:27:29 at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doCloseSend(ProtocolStack.java:800)
20:27:29 at org.jenkinsci.remoting.protocol.ApplicationLayer.doCloseWrite(ApplicationLayer.java:173)
20:27:29 at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer$ByteBufferCommandTransport.closeWrite(ChannelApplicationLayer.java:311)
20:27:29 at hudson.remoting.Channel.close(Channel.java:1295)
20:27:29 at hudson.remoting.Channel.close(Channel.java:1263)
20:27:29 at hudson.slaves.SlaveComputer.closeChannel(SlaveComputer.java:704)
20:27:29 at hudson.slaves.SlaveComputer.access$800(SlaveComputer.java:96)
20:27:29 at hudson.slaves.SlaveComputer$3.run(SlaveComputer.java:626)
20:27:29 at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
20:27:29 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
20:27:29 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
20:27:29 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
20:27:29 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
20:27:29 at java.lang.Thread.run(Thread.java:745)
20:27:29 Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from 10.192.10.65/10.192.10.65:40927' is disconnected.
20:27:29 at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:192)
20:27:29 at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:257)
20:27:29 at com.sun.proxy.$Proxy76.isAlive(Unknown Source)
20:27:29 at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1043)
20:27:29 at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1035)
20:27:29 at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:155)```
We saw the same issue happening randomly on aws ec2 spot instances after upgrading to jenkins 2.46.2
[8:33 PM]
```20:27:29 FATAL: command execution failed
20:27:29 java.nio.channels.ClosedChannelException
20:27:29 at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:208)
20:27:29 at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:222)
20:27:29 at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:832)
20:27:29 at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:287)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:181)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.switchToNoSecure(SSLEngineFilterLayer.java:283)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processWrite(SSLEngineFilterLayer.java:503)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processQueuedWrites(SSLEngineFilterLayer.java:248)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doSend(SSLEngineFilterLayer.java:200)
20:27:29 at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doCloseSend(SSLEngineFilterLayer.java:213)
20:27:29 at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doCloseSend(ProtocolStack.java:800)
20:27:29 at org.jenkinsci.remoting.protocol.ApplicationLayer.doCloseWrite(ApplicationLayer.java:173)
20:27:29 at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer$ByteBufferCommandTransport.closeWrite(ChannelApplicationLayer.java:311)
20:27:29 at hudson.remoting.Channel.close(Channel.java:1295)
20:27:29 at hudson.remoting.Channel.close(Channel.java:1263)
20:27:29 at hudson.slaves.SlaveComputer.closeChannel(SlaveComputer.java:704)
20:27:29 at hudson.slaves.SlaveComputer.access$800(SlaveComputer.java:96)
20:27:29 at hudson.slaves.SlaveComputer$3.run(SlaveComputer.java:626)
20:27:29 at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
20:27:29 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
20:27:29 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
20:27:29 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
20:27:29 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
20:27:29 at java.lang.Thread.run(Thread.java:745)
20:27:29 Caused: java.io.IOException: Backing channel 'JNLP4-connect connection from 10.192.10.65/10.192.10.65:40927' is disconnected.
20:27:29 at hudson.remoting.RemoteInvocationHandler.channelOrFail(RemoteInvocationHandler.java:192)
20:27:29 at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:257)
20:27:29 at com.sun.proxy.$Proxy76.isAlive(Unknown Source)
20:27:29 at hudson.Launcher$RemoteLauncher$ProcImpl.isAlive(Launcher.java:1043)
20:27:29 at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:1035)
20:27:29 at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:155)```