Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-57143

JNLP4 error: "Connection closed before acknowledgement sent"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Blocker Blocker
    • github-oauth-plugin
    • None

      Hello!

      We run JNLP-powered agents on 4 Mac machines, after Jenkins update to 2.164.2 (from 2.150.3), those machines are not able to connect using JNLP-4 (see exception below), although JNLP-3 connection works.

      Agent is run as:
      /usr/bin/java -Djava.awt.headless=true -jar /Applications/Jenkins/agent.jar -jnlpUrl https://<redacted-master-address>/computer/<redacted-agent>/slave-agent.jnlp -secret <redacted-secret> -workDir /Users/jenkins/jenkins_root

      Exception on agent:
      INFO: Protocol JNLP4-connect encountered an unexpected exception
      java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent
      at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:223)
      at hudson.remoting.Engine.innerRun(Engine.java:614)
      at hudson.remoting.Engine.run(Engine.java:474)
      Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent
      at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckFilterLayer.java:280)
      at org.jenkinsci.remoting.protocol.FilterLayer.abort(FilterLayer.java:164)
      at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.access$000(AckFilterLayer.java:43)
      at org.jenkinsci.remoting.protocol.impl.AckFilterLayer$1.run(AckFilterLayer.java:176)
      at org.jenkinsci.remoting.protocol.IOHub$DelayedRunnable.run(IOHub.java:964)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
      at java.lang.Thread.run(Thread.java:748

      On jenkins master:

      Apr 22, 2019 3:42:42 AM hudson.TcpSlaveAgentListener$ConnectionHandler run
      WARNING: Connection #1512 failed
      java.io.EOFException
      at java.io.DataInputStream.readFully(DataInputStream.java:197)
      at java.io.DataInputStream.readFully(DataInputStream.java:169)
      at hudson.TcpSlaveAgentListener$ConnectionHandler.run(TcpSlaveAgentListener.java:244)

      Apr 22, 2019 3:42:42 AM hudson.TcpSlaveAgentListener$ConnectionHandler run
      INFO: Accepted JNLP4-connect connection #1,513 from /<redacted-agent-ip>:58595
      Apr 22, 2019 3:42:54 AM hudson.TcpSlaveAgentListener$ConnectionHandler run
      WARNING: Connection #1514 failed
      java.io.EOFException
      at java.io.DataInputStream.readFully(DataInputStream.java:197)
      at java.io.DataInputStream.readFully(DataInputStream.java:169)
      at hudson.TcpSlaveAgentListener$ConnectionHandler.run(TcpSlaveAgentListener.java:244)

      Things that I checked:

      • agent.jar is up-to-date and matches the one on master
      • JNLP port on master is open and available from the agent

            sag47 Sam Gleske
            conf Alexey Shein
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: