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

Remoting using WebSocket fails with "Handshake response not received" Exception

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • remoting
    • None
    • - Remoting v4.2
      - AdoptOpenJDK v11.0.5 (Windows 10)
      - Jenkins v2.204.2
    • Jenkins v2.222.1 / Remoting v4.2

    Description

      Using remoting v4.2 with WebSocket crashes after ~ 30 seconds with a "Handshake response not received" exception:
       

      io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager <init>
      CONFIG: Provider class loaded: io.jenkins.remoting.shaded.org.glassfish.tyrus.container.jdk.client.JdkClientContainer
      hudson.remoting.jnlp.Main$CuiListener error
      SEVERE: Handshake response not received.
      io.jenkins.remoting.shaded.javax.websocket.DeploymentException: Handshake response not received.
      	at io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager$3$1.run(ClientManager.java:694)
      	at io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager$3.run(ClientManager.java:712)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager$SameThreadExecutorService.execute(ClientManager.java:866)
      	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
      	at io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager.connectToServer(ClientManager.java:511)
      	at io.jenkins.remoting.shaded.org.glassfish.tyrus.client.ClientManager.connectToServer(ClientManager.java:355)
      	at hudson.remoting.Engine.runWebSocket(Engine.java:624)
      	at hudson.remoting.Engine.run(Engine.java:469)
      

       

      Remoting is launched through hudson.remoting.jnlp.Main.main() with arguments: 

      [<Secret ID>, <Agent>, -url, https://<Master Host>:<Port>/, -webSocket, -workDir, <WorkDir Path> -headless, -noreconnect]

      Attachments

        Issue Links

          Activity

            jthompson Jeff Thompson added a comment -

            Try Remoting (agent) 4.2.

            You're experiencing the fun of being on the bleeding edge. The WebSocket implementation is still in Beta, because we need to get extended real-world testing. It first came out in an LTS release last week, with Remoting 4.2. Unfortunately, at the same time someone reported a problem with large payloads, which we fixed last week. Remoting 4.3 addresses that problem, but, because it's still in Beta, also requires an upgrade to the master, Jenkins 2.229. That fix should get merged back to the next Jenkins LTS refresh.

            Remoting 4.2:

               Weekly releases 2.217 through 2.228

               LTS release 2.222.1

            Remoting 4.3:

              Weekly releases 2.229+

              Upcoming LTS

             

            If you're not using the experimental WebSocket feature, then Remoting 4.2 and 4.3 are equivalent.

            jthompson Jeff Thompson added a comment - Try Remoting (agent) 4.2. You're experiencing the fun of being on the bleeding edge. The WebSocket implementation is still in Beta, because we need to get extended real-world testing. It first came out in an LTS release last week, with Remoting 4.2. Unfortunately, at the same time someone reported a problem with large payloads, which we fixed last week. Remoting 4.3 addresses that problem, but, because it's still in Beta, also requires an upgrade to the master, Jenkins 2.229. That fix should get merged back to the next Jenkins LTS refresh. Remoting 4.2:    Weekly releases 2.217 through 2.228    LTS release 2.222.1 Remoting 4.3:   Weekly releases 2.229+   Upcoming LTS   If you're not using the experimental WebSocket feature, then Remoting 4.2 and 4.3 are equivalent.
            ethorsa ethorsa added a comment -

            Thanks jthompson, downgrading to v4.2 solved the issue and I was able to connect agents over WebSockets. 

             

            The WebSocket implementation is still in Beta, because we need to get extended real-world testing.

            I'll let you know if there are other issues.

            ethorsa ethorsa added a comment - Thanks jthompson , downgrading to v4.2 solved the issue and I was able to connect agents over WebSockets.    The WebSocket implementation is still in Beta, because we need to get extended real-world testing. I'll let you know if there are other issues.
            jglick Jesse Glick added a comment -

            Nothing here was “fixed” that I can see. A FIXED bug should link to a PR merged in a particular release.

            jglick Jesse Glick added a comment - Nothing here was “fixed” that I can see. A FIXED bug should link to a PR merged in a particular release.
            jglick Jesse Glick added a comment -

            AFAICT this is all just about JENKINS-61409, which as indicated in that issue requires a matching upgrade on the controller and agent sides.

            jglick Jesse Glick added a comment - AFAICT this is all just about JENKINS-61409 , which as indicated in that issue requires a matching upgrade on the controller and agent sides.
            basil Basil Crow added a comment -

            Duplicates JENKINS-61212.

            basil Basil Crow added a comment - Duplicates JENKINS-61212 .

            People

              Unassigned Unassigned
              ethorsa ethorsa
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: