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

unable to start slave after installing version 2.27 on master + new 3.0 slave.jar on slave

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core, remoting
    • None

      Hi,

      I'm unable to start/connect slave machine, using JNLP, after installing version 2.27 on master + new 3.0 slave.jar on slave computer. Installed Java 1.8.111.

      I've enabled Java Web Start agent 3 and 4 in Configure Global Security, but to no avail. All I'm getting is an error "Local headers refused by remote: CPRAN03 is not a JNLP agent" followed by number of exceptions and even version 3 and 2 of JNLP agent fails to start. Is there something else I need to configure in latest Jenkins 2.27?

      C:\Jenkins>call "C:\Program Files (x86)\Java\jre1.8.0_111\bin\java.exe" -Xrs -ja
      r "slave.jar" -jnlpUrl http://cpjen01:8090/computer/CPRAN03/slave-agent.jnlp -se
      cret "secretkey"
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main createEngine
      INFO: Setting up slave: CPRAN03
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener <init>
      INFO: Jenkins agent is running in headless mode.
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Locating server among http://cpjen01:8090/
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Agent discovery successful
      Agent address: cpjen01
      Agent port: 49274
      Identity: ab:f2:5f:d6:32:a6:42:71:fc:d8:9f:9a:05:0c:77:d0
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Handshaking
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to cpjen01:49274
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Trying protocol: JNLP4-connect
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Remote identity confirmed: ab:f2:5f:d6:32:a6:42:71:fc:d8:9f:9a:05:0c:77:d0

      Oct 25, 2016 7:58:00 AM org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFi
      lterLayer onRecv
      INFO: [JNLP4-connect connection to cpjen01/10.8.32.77:49274] Local headers refus
      ed by remote: CPRAN03 is not a JNLP agent
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Protocol JNLP4-connect encountered an unexpected exception
      java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.Co
      nnectionRefusalException: CPRAN03 is not a JNLP agent
      at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:22
      3)
      at hudson.remoting.Engine.innerRun(Engine.java:415)
      at hudson.remoting.Engine.run(Engine.java:280)
      Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: CPRA
      N03 is not a JNLP agent
      at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.new
      AbortCause(ConnectionHeadersFilterLayer.java:377)
      at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.onR
      ecvClosed(ConnectionHeadersFilterLayer.java:432)
      at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
      olStack.java:832)
      at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.
      java:287)
      at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClose
      d(SSLEngineFilterLayer.java:172)
      at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
      olStack.java:832)
      at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLaye
      r.java:154)
      at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer.access$1500(BION
      etworkLayer.java:48)
      at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader.run(BIONe
      tworkLayer.java:247)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:94)
      at java.lang.Thread.run(Unknown Source)
      Suppressed: java.nio.channels.ClosedChannelException
      ... 7 more

      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to cpjen01:49274
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Server reports protocol JNLP4-plaintext not supported, skipping
      Oct 25, 2016 7:58:00 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Trying protocol: JNLP3-connect
      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Protocol JNLP3-connect encountered an unexpected exception
      java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.Co
      nnectionRefusalException: JNLP3-connect: Master rejected connection:
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      at hudson.remoting.Engine.innerRun(Engine.java:415)
      at hudson.remoting.Engine.run(Engine.java:280)
      Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: JNLP
      3-connect: Master rejected connection:
      at org.jenkinsci.remoting.engine.JnlpProtocol3Handler.sendHandshake(Jnlp
      Protocol3Handler.java:239)
      at org.jenkinsci.remoting.engine.JnlpProtocol3Handler.sendHandshake(Jnlp
      Protocol3Handler.java:123)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:162)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:158)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:94)
      at java.lang.Thread.run(Unknown Source)

      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to cpjen01:49274
      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Trying protocol: JNLP2-connect
      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Protocol JNLP2-connect encountered an unexpected exception
      java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.Co
      nnectionRefusalException: Server didn't accept the handshake:
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      at hudson.remoting.Engine.innerRun(Engine.java:415)
      at hudson.remoting.Engine.run(Engine.java:280)
      Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Serv
      er didn't accept the handshake:
      at org.jenkinsci.remoting.engine.JnlpProtocol2Handler.sendHandshake(Jnlp
      Protocol2Handler.java:134)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:162)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:158)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:94)
      at java.lang.Thread.run(Unknown Source)

      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Connecting to cpjen01:49274
      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Trying protocol: JNLP-connect
      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener status
      INFO: Protocol JNLP-connect encountered an unexpected exception
      java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.Co
      nnectionRefusalException: Server didn't accept the handshake:
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      at hudson.remoting.Engine.innerRun(Engine.java:415)
      at hudson.remoting.Engine.run(Engine.java:280)
      Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Serv
      er didn't accept the handshake:
      at org.jenkinsci.remoting.engine.JnlpProtocol1Handler.sendHandshake(Jnlp
      Protocol1Handler.java:121)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:162)
      at org.jenkinsci.remoting.engine.LegacyJnlpProtocolHandler$2.call(Legacy
      JnlpProtocolHandler.java:158)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:94)
      at java.lang.Thread.run(Unknown Source)

      Oct 25, 2016 7:58:01 AM hudson.remoting.jnlp.Main$CuiListener error
      SEVERE: The server rejected the connection: None of the protocols were accepted
      java.lang.Exception: The server rejected the connection: None of the protocols w
      ere accepted
      at hudson.remoting.Engine.onConnectionRejected(Engine.java:476)
      at hudson.remoting.Engine.innerRun(Engine.java:440)
      at hudson.remoting.Engine.run(Engine.java:280)

      Also, when I try to run the slave-agent.jnlp (via http://cpjen01:8090/computer/CPRAN03/slave-agent.jnlp) it fails with error as shown on attached image:

        1. Jenkins2.27_SystemLog.txt
          8 kB
        2. jnlp_slave.png
          jnlp_slave.png
          35 kB
        3. screenshot-1.png
          screenshot-1.png
          16 kB
        4. screenshot-2.png
          screenshot-2.png
          41 kB
        5. SlaveConfiguration.png
          SlaveConfiguration.png
          30 kB

          [JENKINS-39232] unable to start slave after installing version 2.27 on master + new 3.0 slave.jar on slave

          oleg_nenashev: Will the bugfix be in the next regular version 2.29 (may be next week)? In the changelog for Release2.28 and the list of upcoming changes there is nothing said about this bug or bugfix.

          Alexander Fischer added a comment - oleg_nenashev : Will the bugfix be in the next regular version 2.29 (may be next week)? In the changelog for Release2.28 and the list of upcoming changes there is nothing said about this bug or bugfix.

          Oleg Nenashev added a comment -

          afischer There is a changelog in 2.28: "implementing other proxying and filtering Launcher implementations. Particular plugins may require setting up the jenkins.slaves.DefaultJnlpSlaveReceiver.disableStrictVerification system property in the master JVM to allow connecting agents."

          Are you looking for this fix? Or are you aware about the certificate?

          Oleg Nenashev added a comment - afischer There is a changelog in 2.28: "implementing other proxying and filtering Launcher implementations. Particular plugins may require setting up the jenkins.slaves.DefaultJnlpSlaveReceiver.disableStrictVerification system property in the master JVM to allow connecting agents." Are you looking for this fix? Or are you aware about the certificate?

          You are right, I have overread the detail-comments about the bug. So I will try the new version 2.28.

          Alexander Fischer added a comment - You are right, I have overread the detail-comments about the bug. So I will try the new version 2.28.

          marlene cote added a comment -

          I still have the same issue that I reported in https://issues.jenkins-ci.org/browse/JENKINS-39252.
          I click on Launch for the windows slave, and it starts than teminates.
          the java console shows

          you mentioned that this is a problem with the certificate, but I don't see any fix for this. I have ugraded my master to the latest jenkins 2.30

          marlene cote added a comment - I still have the same issue that I reported in https://issues.jenkins-ci.org/browse/JENKINS-39252 . I click on Launch for the windows slave, and it starts than teminates. the java console shows you mentioned that this is a problem with the certificate, but I don't see any fix for this. I have ugraded my master to the latest jenkins 2.30

          Oleg Nenashev added a comment -

          So there is a "Insecure property: (hudson.showWindowsServiceInstallLink, true) specified in unsigned jnlp file will not be set". The JNLP file is expected to be signed, likely there is another issue. Please report it in a separate ticket and assign to me

          Oleg Nenashev added a comment - So there is a "Insecure property: (hudson.showWindowsServiceInstallLink, true) specified in unsigned jnlp file will not be set". The JNLP file is expected to be signed, likely there is another issue. Please report it in a separate ticket and assign to me

          Oleg Nenashev added a comment -

          The issue for JNLP certificates has been created: JENKINS-39596. Closing this issue

          Oleg Nenashev added a comment - The issue for JNLP certificates has been created: JENKINS-39596 . Closing this issue

          I have my own class that i extend for SSH and JNLP launcher implementation. Core isn't backward compatible in terms of 2.X version. If you want to do something breakable please schedule it for 3.0 jenkins.

          Kanstantsin Shautsou added a comment - I have my own class that i extend for SSH and JNLP launcher implementation. Core isn't backward compatible in terms of 2.X version. If you want to do something breakable please schedule it for 3.0 jenkins.

          Oleg Nenashev added a comment -

          https://github.com/jenkinsci/jenkins/pull/2601 was stuck for months without feedback. Closed it

          Oleg Nenashev added a comment - https://github.com/jenkinsci/jenkins/pull/2601 was stuck for months without feedback. Closed it

          Code changed in jenkins
          User: Nicolas De Loof
          Path:
          docker-plugin/src/main/java/io/jenkins/docker/connector/DockerComputerJNLPConnector.java
          http://jenkins-ci.org/commit/docker-plugin/b574ba2a30dfcdd0f3cecbba4065d456ef4e3fa2
          Log:
          with JENKINS-39232 we need to referene a JNLPLauncher (#543)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: docker-plugin/src/main/java/io/jenkins/docker/connector/DockerComputerJNLPConnector.java http://jenkins-ci.org/commit/docker-plugin/b574ba2a30dfcdd0f3cecbba4065d456ef4e3fa2 Log: with JENKINS-39232 we need to referene a JNLPLauncher (#543)

          jenkins.slaves.DefaultJnlpSlaveReceiver.disableStrictVerification=true
          Exectuing this in groovy as a workaround helped me. Thanks thornto4.

          Jaroslav Henner added a comment - jenkins.slaves.DefaultJnlpSlaveReceiver.disableStrictVerification=true Exectuing this in groovy as a workaround helped me. Thanks thornto4 .

            oleg_nenashev Oleg Nenashev
            odklizec Pavel Kudrys
            Votes:
            11 Vote for this issue
            Watchers:
            24 Start watching this issue

              Created:
              Updated:
              Resolved: