Vlatombe on stable-4.13.x
[JENKINS-68542] [WebSocket] Cap… Merge branch 'stable-4.13.x' in… Merge pull request #539 from Vl… (compare)
Vlatombe on fix-ci
Vlatombe on stable-4.13.x
Cherry-pick partially #517 Merge pull request #540 from je… (compare)
Vlatombe on fix-ci
Cherry-pick partially #517 (compare)
/disconnect
or having a computer's availability setting disconnect an agent consistently causes a ClosedChannelException so in essence SlaveComputer.disconnect
will cause this exception to happen. This seems to only happen to "JNLP" connections AFAICT. Stacktrace below:java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:209)
at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:222)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:816)
at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:287)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:181)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.switchToNoSecure(SSLEngineFilterLayer.java:283)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processWrite(SSLEngineFilterLayer.java:503)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processQueuedWrites(SSLEngineFilterLayer.java:248)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doSend(SSLEngineFilterLayer.java:200)
at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.doCloseSend(SSLEngineFilterLayer.java:213)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doCloseSend(ProtocolStack.java:784)
at org.jenkinsci.remoting.protocol.ApplicationLayer.doCloseWrite(ApplicationLayer.java:173)
at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer$ByteBufferCommandTransport.closeWrite(ChannelApplicationLayer.java:314)
at hudson.remoting.Channel.close(Channel.java:1452)
at hudson.remoting.Channel.close(Channel.java:1405)
at hudson.slaves.SlaveComputer.closeChannel(SlaveComputer.java:844)
at hudson.slaves.SlaveComputer.access$800(SlaveComputer.java:105)
at hudson.slaves.SlaveComputer$3.run(SlaveComputer.java:753)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Hi! I have open this ticket today about an issue with remoting 4.2.1 and and 4.3 (seems a regression from 4.2) related to websocket : https://issues.jenkins-ci.org/browse/JENKINS-62576
I'm aware that the WS feature is still in beta, but it literally saved me to avoid networking issue (firewall, K8S ingress etc...) :)
Except the previous issue with large payload I didn't had previously any issue with connection or stability. Now I'm the connection is crashing in the middle of the build. I had sadly to rollback to 2.222.3
I've put all the details on the ticket, I can help debug or provide more logs if needed.
Thanks!
Hi! I have nginx proxy setup, using normal JNPL agents. Now I switched (trying) to WebSocket, but receiving a strange error
JNLP file https://xzy.com/jenkins/computer/vsb-10/slave-agent.jnlp?encrypt=true has invalid arguments: [89aacf49720cd4550ead6eb23060e995201842915acddff53776a6baa69177bd, node-10, -webSocket, -workDir, c:\workdir\vsb\jenkins, -internalDir, remoting, -url, https://xyz.com/jenkins/, -url, http://xzy-1.com:8080/jenkins/, -headless, -workDir, c:\workdir\vsb\jenkins, -internalDir, remoting]
Most likely a configuration error in the master
-webSocket supports only a single -url
Any suggestions I should try?
Thanks!
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent