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

Jenkins Agents do not connect after update from version 2.95 to version 2.99 and jobs fail

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core, remoting
    • CentOS root node and 2 macOS agents connecting to it through JNLP4.

      Seeing something that sounds similar to https://issues.jenkins-ci.org/browse/JENKINS-48754.

      "After having installed Jenkins Version 2.99, none of my agents did connect to the server anymore. Even a restart of the java script on the slave did not help."

      Workaround: Update Remoting on the agent side to 3.15

      Agent is launched like so:

      java -jar agent.jar -jnlpUrl https://<Jenkins URL>/computer/<AgentName>/<>.jnlp -secret <Agent Secret>
      

          [JENKINS-48761] Jenkins Agents do not connect after update from version 2.95 to version 2.99 and jobs fail

          Goffredo Marocchi created issue -
          Goffredo Marocchi made changes -
          Link New: This issue is related to JENKINS-48754 [ JENKINS-48754 ]
          Oleg Nenashev made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Goffredo Marocchi made changes -
          Priority Original: Blocker [ 1 ] New: Major [ 3 ]
          Oleg Nenashev made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Oleg Nenashev made changes -
          Remote Link New: This issue links to "https://github.com/jenkinsci/jenkins/pull/3212 (Web Link)" [ 19704 ]
          Oleg Nenashev made changes -
          Description Original: Seeing something that sounds similar to https://issues.jenkins-ci.org/browse/JENKINS-48754.

          "After having installed Jenkins Version 2.99, none of my slaves did connect to the server anymore. Even a restart of the java script on the slave did not help."

          In a job:
          {code:java}
          First time build. Skipping changelog.
           No emails were triggered.
           FATAL: command execution failed
           Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from mdbuildserver01217.gamesys.corp/10.194.194.147:60268
           at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1696)
           at hudson.remoting.UserResponse.retrieve(UserRequest.java:313)
           at hudson.remoting.Channel.call(Channel.java:909)
           at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1053)
           at hudson.Launcher$ProcStarter.start(Launcher.java:450)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
           at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
           at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
           at hudson.model.Build$BuildExecution.build(Build.java:206)
           at hudson.model.Build$BuildExecution.doRun(Build.java:163)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
           at hudson.model.Run.execute(Run.java:1727)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:429)
           java.lang.NoSuchMethodError: hudson.Launcher$RemoteLaunchCallable.getOpenChannelOrFail()Lhudson/remoting/Channel;
           at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1292)
           at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1260)
           at hudson.remoting.UserRequest.perform(UserRequest.java:207)
           at hudson.remoting.UserRequest.perform(UserRequest.java:53)
           at hudson.remoting.Request$2.run(Request.java:358)
           at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
           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 hudson.remoting.Engine$1$1.run(Engine.java:98)
           at java.lang.Thread.run(Thread.java:748)
           Caused: java.io.IOException: Remote call on JNLP4-connect connection from mdbuildserver01217.gamesys.corp/10.194.194.147:60268 failed
           at hudson.remoting.Channel.call(Channel.java:917)
           at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1053)
           at hudson.Launcher$ProcStarter.start(Launcher.java:450)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
           at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
           at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
           at hudson.model.Build$BuildExecution.build(Build.java:206)
           at hudson.model.Build$BuildExecution.doRun(Build.java:163)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
           at hudson.model.Run.execute(Run.java:1727)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:429)
           Build step 'Execute shell' marked build as failure{code}

            

          Starting the agent up:
          {code:java}
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main createEngine
          INFO: Setting up slave: <SlaveName>
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener <init>
          INFO: Jenkins agent is running in headless mode.
          Jan 02, 2018 7:55:08 PM hudson.remoting.Engine startEngine
          WARNING: No Working Directory. Using the legacy JAR Cache location: /Users/mdbuildserver/.jenkins/cache/jars
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Locating server among [https://&lt;jenkins URL>/]
          Jan 02, 2018 7:55:08 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
          INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Agent discovery successful
            Agent address: <jenkins URL>/
            Agent port: 42650
            Identity: fb:f3:24:67:05:be:94:06:49:2a:aa:64:c2:83:32:c7
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Handshaking
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connecting to nps-jenkins.gamesys.co.uk:42650
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Trying protocol: JNLP4-connect
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Remote identity confirmed: fb:f3:24:67:05:be:94:06:49:2a:aa:64:c2:83:32:c7
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connected
          Jan 02, 2018 7:55:08 PM hudson.remoting.UserRequest perform
          WARNING: LinkageError while performing UserRequest:hudson.slaves.ChannelPinger$SetUpRemotePing@2905
          java.lang.NoSuchMethodError: hudson.slaves.ChannelPinger$SetUpRemotePing.getOpenChannelOrFail()Lhudson/remoting/Channel;
              at hudson.slaves.ChannelPinger$SetUpRemotePing.call(ChannelPinger.java:137)
              at hudson.slaves.ChannelPinger$SetUpRemotePing.call(ChannelPinger.java:121)
              at hudson.remoting.UserRequest.perform(UserRequest.java:207)
              at hudson.remoting.UserRequest.perform(UserRequest.java:53)
              at hudson.remoting.Request$2.run(Request.java:358)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              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 hudson.remoting.Engine$1$1.run(Engine.java:98)
              at java.lang.Thread.run(Thread.java:748)

          Jan 02, 2018 7:55:08 PM hudson.remoting.UserRequest perform
          WARNING: LinkageError while performing UserRequest:jenkins.slaves.StandardOutputSwapper$ChannelSwapper@3b16348f
          java.lang.NoSuchMethodError: jenkins.slaves.StandardOutputSwapper$ChannelSwapper.getOpenChannelOrFail()Lhudson/remoting/Channel;
              at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:42)
              at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:39)
              at hudson.remoting.UserRequest.perform(UserRequest.java:207)
              at hudson.remoting.UserRequest.perform(UserRequest.java:53)
              at hudson.remoting.Request$2.run(Request.java:358)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              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 hudson.remoting.Engine$1$1.run(Engine.java:98)
              at java.lang.Thread.run(Thread.java:748)

          Jan 02, 2018 7:55:09 PM com.youdevise.hudson.slavestatus.SlaveListener call
          INFO: Slave-status listener starting
          Jan 02, 2018 7:55:09 PM com.youdevise.hudson.slavestatus.SocketHTTPListener waitForConnection
          INFO: Slave-status listener ready on port 3141
          {code}
           

          Agent is launched like so:
          {code:java}
          java -jar agent.jar -jnlpUrl https://&lt;Jenkins URL>/computer/<AgentName>/slave-agent.jnlp -secret <Agent Secret>
          {code}
           
          New: Seeing something that sounds similar to https://issues.jenkins-ci.org/browse/JENKINS-48754.

          "After having installed Jenkins Version 2.99, none of my slaves did connect to the server anymore. Even a restart of the java script on the slave did not help."

          *Workaround*: Update Remoting on the agent side to 3.15

          In a job:
          {code:java}
          First time build. Skipping changelog.
           No emails were triggered.
           FATAL: command execution failed
           Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from mdbuildserver01217.gamesys.corp/10.194.194.147:60268
           at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1696)
           at hudson.remoting.UserResponse.retrieve(UserRequest.java:313)
           at hudson.remoting.Channel.call(Channel.java:909)
           at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1053)
           at hudson.Launcher$ProcStarter.start(Launcher.java:450)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
           at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
           at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
           at hudson.model.Build$BuildExecution.build(Build.java:206)
           at hudson.model.Build$BuildExecution.doRun(Build.java:163)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
           at hudson.model.Run.execute(Run.java:1727)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:429)
           java.lang.NoSuchMethodError: hudson.Launcher$RemoteLaunchCallable.getOpenChannelOrFail()Lhudson/remoting/Channel;
           at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1292)
           at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1260)
           at hudson.remoting.UserRequest.perform(UserRequest.java:207)
           at hudson.remoting.UserRequest.perform(UserRequest.java:53)
           at hudson.remoting.Request$2.run(Request.java:358)
           at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
           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 hudson.remoting.Engine$1$1.run(Engine.java:98)
           at java.lang.Thread.run(Thread.java:748)
           Caused: java.io.IOException: Remote call on JNLP4-connect connection from mdbuildserver01217.gamesys.corp/10.194.194.147:60268 failed
           at hudson.remoting.Channel.call(Channel.java:917)
           at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1053)
           at hudson.Launcher$ProcStarter.start(Launcher.java:450)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
           at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
           at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
           at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
           at hudson.model.Build$BuildExecution.build(Build.java:206)
           at hudson.model.Build$BuildExecution.doRun(Build.java:163)
           at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
           at hudson.model.Run.execute(Run.java:1727)
           at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
           at hudson.model.ResourceController.execute(ResourceController.java:97)
           at hudson.model.Executor.run(Executor.java:429)
           Build step 'Execute shell' marked build as failure{code}

            

          Starting the agent up:
          {code:java}
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main createEngine
          INFO: Setting up slave: <SlaveName>
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener <init>
          INFO: Jenkins agent is running in headless mode.
          Jan 02, 2018 7:55:08 PM hudson.remoting.Engine startEngine
          WARNING: No Working Directory. Using the legacy JAR Cache location: /Users/mdbuildserver/.jenkins/cache/jars
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Locating server among [https://&lt;jenkins URL>/]
          Jan 02, 2018 7:55:08 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
          INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Agent discovery successful
            Agent address: <jenkins URL>/
            Agent port: 42650
            Identity: fb:f3:24:67:05:be:94:06:49:2a:aa:64:c2:83:32:c7
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Handshaking
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connecting to nps-jenkins.gamesys.co.uk:42650
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Trying protocol: JNLP4-connect
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Remote identity confirmed: fb:f3:24:67:05:be:94:06:49:2a:aa:64:c2:83:32:c7
          Jan 02, 2018 7:55:08 PM hudson.remoting.jnlp.Main$CuiListener status
          INFO: Connected
          Jan 02, 2018 7:55:08 PM hudson.remoting.UserRequest perform
          WARNING: LinkageError while performing UserRequest:hudson.slaves.ChannelPinger$SetUpRemotePing@2905
          java.lang.NoSuchMethodError: hudson.slaves.ChannelPinger$SetUpRemotePing.getOpenChannelOrFail()Lhudson/remoting/Channel;
              at hudson.slaves.ChannelPinger$SetUpRemotePing.call(ChannelPinger.java:137)
              at hudson.slaves.ChannelPinger$SetUpRemotePing.call(ChannelPinger.java:121)
              at hudson.remoting.UserRequest.perform(UserRequest.java:207)
              at hudson.remoting.UserRequest.perform(UserRequest.java:53)
              at hudson.remoting.Request$2.run(Request.java:358)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              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 hudson.remoting.Engine$1$1.run(Engine.java:98)
              at java.lang.Thread.run(Thread.java:748)

          Jan 02, 2018 7:55:08 PM hudson.remoting.UserRequest perform
          WARNING: LinkageError while performing UserRequest:jenkins.slaves.StandardOutputSwapper$ChannelSwapper@3b16348f
          java.lang.NoSuchMethodError: jenkins.slaves.StandardOutputSwapper$ChannelSwapper.getOpenChannelOrFail()Lhudson/remoting/Channel;
              at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:42)
              at jenkins.slaves.StandardOutputSwapper$ChannelSwapper.call(StandardOutputSwapper.java:39)
              at hudson.remoting.UserRequest.perform(UserRequest.java:207)
              at hudson.remoting.UserRequest.perform(UserRequest.java:53)
              at hudson.remoting.Request$2.run(Request.java:358)
              at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
              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 hudson.remoting.Engine$1$1.run(Engine.java:98)
              at java.lang.Thread.run(Thread.java:748)

          Jan 02, 2018 7:55:09 PM com.youdevise.hudson.slavestatus.SlaveListener call
          INFO: Slave-status listener starting
          Jan 02, 2018 7:55:09 PM com.youdevise.hudson.slavestatus.SocketHTTPListener waitForConnection
          INFO: Slave-status listener ready on port 3141
          {code}
           

          Agent is launched like so:
          {code:java}
          java -jar agent.jar -jnlpUrl https://&lt;Jenkins URL>/computer/<AgentName>/slave-agent.jnlp -secret <Agent Secret>
          {code}
           
          Oleg Nenashev made changes -
          Link New: This issue is related to JENKINS-48766 [ JENKINS-48766 ]
          Oleg Nenashev made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Resolved [ 5 ]
          Oleg Nenashev made changes -
          Remote Link New: This issue links to "Retrospective thread (Web Link)" [ 19710 ]
          Oleg Nenashev made changes -
          Priority Original: Major [ 3 ] New: Blocker [ 1 ]

            oleg_nenashev Oleg Nenashev
            panajev Goffredo Marocchi
            Votes:
            3 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: