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

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

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: core, remoting
    • Labels:
    • Environment:
      CentOS root node and 2 macOS agents connecting to it through JNLP4.
    • Similar Issues:

      Description

      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:

      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

      Starting the agent up:

      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://<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
      

      Agent is launched like so:

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

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: