java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution

Jenkins JIRA | Olivier Dagenais | 9 months ago
  1. 0

    [JIRA] [tfs-plugin] (JENKINS-33193) UnsatisfiedLinkError after a Windows agent's service fails to restart

    Google Groups | 9 months ago | olivida@microsoft.com (JIRA)
    java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution
  2. 0

    h1. Steps to reproduce: # Queue a build with TFVC against a specific agent (thus loading native libraries) # Restart master # Queue the same build to execute on the same agent h1. Actual results: {noformat} java.lang.RuntimeException: java.io.IOException: Remote call on AGENT failed at hudson.plugins.tfs.model.Server.execute(Server.java:157) at hudson.plugins.tfs.model.Project.extractChangesetNumber(Project.java:272) at hudson.plugins.tfs.model.Project.getRemoteChangesetVersion(Project.java:268) at hudson.plugins.tfs.model.Project.getRemoteChangesetVersion(Project.java:284) at hudson.plugins.tfs.TeamFoundationServerScm.recordWorkspaceChangesetVersion(TeamFoundationServerScm.java:311) at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:260) at hudson.model.AbstractProject.checkout(AbstractProject.java:1276) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) at hudson.model.Run.execute(Run.java:1738) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) Caused by: java.io.IOException: Remote call on AGENT failed at hudson.remoting.Channel.call(Channel.java:789) at hudson.plugins.tfs.model.Server.execute(Server.java:153) ... 13 more Caused by: java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String; at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Native Method) at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.getEnvironmentVariable(NativePlatformMisc.java:134) at com.microsoft.tfs.jni.PlatformMiscUtils.getEnvironmentVariable(PlatformMiscUtils.java:52) at com.microsoft.tfs.core.config.EnvironmentVariables.getString(EnvironmentVariables.java:251) at com.microsoft.tfs.core.config.EnvironmentVariables.getBoolean(EnvironmentVariables.java:235) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.getUserAgent(DefaultHTTPClientFactory.java:365) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.configureClientParams(DefaultHTTPClientFactory.java:323) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.newHTTPClient(DefaultHTTPClientFactory.java:142) at com.microsoft.tfs.core.TFSConnection.getHTTPClient(TFSConnection.java:1066) at com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:894) at com.microsoft.tfs.core.config.client.DefaultClientFactory$7.newClient(DefaultClientFactory.java:239) at com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:98) at com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1508) at com.microsoft.tfs.core.TFSTeamProjectCollection.getVersionControlClient(TFSTeamProjectCollection.java:377) at hudson.plugins.tfs.model.Server.getVersionControlClient(Server.java:142) at hudson.plugins.tfs.commands.RemoteChangesetVersionCommand.call(RemoteChangesetVersionCommand.java:56) at hudson.plugins.tfs.commands.RemoteChangesetVersionCommand.call(RemoteChangesetVersionCommand.java:33) at hudson.remoting.UserRequest.perform(UserRequest.java:121) at hudson.remoting.UserRequest.perform(UserRequest.java:49) at hudson.remoting.Request$2.run(Request.java:325) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 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:69) at java.lang.Thread.run(Unknown Source) at ......remote call to AGENT(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416) at hudson.remoting.UserResponse.retrieve(UserRequest.java:220) at hudson.remoting.Channel.call(Channel.java:781) ... 14 more {noformat} h1. Notes Looking in the log on the agent, I see: {noformat} INFO: Restarting slave via jenkins.slaves.restarter.WinswSlaveRestarter@18f5ce68 Feb 27, 2016 2:02:21 PM jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$2$1 onReconnect SEVERE: Failed to restart slave with jenkins.slaves.restarter.WinswSlaveRestarter@18f5ce68 java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution at jenkins.slaves.restarter.WinswSlaveRestarter.restart(WinswSlaveRestarter.java:54) at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$2$1.onReconnect(JnlpSlaveRestarterInstaller.java:77) at hudson.remoting.EngineListenerSplitter.onReconnect(EngineListenerSplitter.java:49) at hudson.remoting.Engine.run(Engine.java:288) {noformat} It might be possible to catch {{IOException}} in {{Server#execute}}, check if it's due to {{UnsatisfiedLinkError}} and point users to the same wiki page, allowing confused users to skip the step where they have to go figure out what's going on by browsing the agent's log.

    Jenkins JIRA | 9 months ago | Olivier Dagenais
    java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution
  3. 0

    h1. Steps to reproduce: # Queue a build with TFVC against a specific agent (thus loading native libraries) # Restart master # Queue the same build to execute on the same agent h1. Actual results: {noformat} java.lang.RuntimeException: java.io.IOException: Remote call on AGENT failed at hudson.plugins.tfs.model.Server.execute(Server.java:157) at hudson.plugins.tfs.model.Project.extractChangesetNumber(Project.java:272) at hudson.plugins.tfs.model.Project.getRemoteChangesetVersion(Project.java:268) at hudson.plugins.tfs.model.Project.getRemoteChangesetVersion(Project.java:284) at hudson.plugins.tfs.TeamFoundationServerScm.recordWorkspaceChangesetVersion(TeamFoundationServerScm.java:311) at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:260) at hudson.model.AbstractProject.checkout(AbstractProject.java:1276) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) at hudson.model.Run.execute(Run.java:1738) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) Caused by: java.io.IOException: Remote call on AGENT failed at hudson.remoting.Channel.call(Channel.java:789) at hudson.plugins.tfs.model.Server.execute(Server.java:153) ... 13 more Caused by: java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String; at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Native Method) at com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.getEnvironmentVariable(NativePlatformMisc.java:134) at com.microsoft.tfs.jni.PlatformMiscUtils.getEnvironmentVariable(PlatformMiscUtils.java:52) at com.microsoft.tfs.core.config.EnvironmentVariables.getString(EnvironmentVariables.java:251) at com.microsoft.tfs.core.config.EnvironmentVariables.getBoolean(EnvironmentVariables.java:235) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.getUserAgent(DefaultHTTPClientFactory.java:365) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.configureClientParams(DefaultHTTPClientFactory.java:323) at com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.newHTTPClient(DefaultHTTPClientFactory.java:142) at com.microsoft.tfs.core.TFSConnection.getHTTPClient(TFSConnection.java:1066) at com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:894) at com.microsoft.tfs.core.config.client.DefaultClientFactory$7.newClient(DefaultClientFactory.java:239) at com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:98) at com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1508) at com.microsoft.tfs.core.TFSTeamProjectCollection.getVersionControlClient(TFSTeamProjectCollection.java:377) at hudson.plugins.tfs.model.Server.getVersionControlClient(Server.java:142) at hudson.plugins.tfs.commands.RemoteChangesetVersionCommand.call(RemoteChangesetVersionCommand.java:56) at hudson.plugins.tfs.commands.RemoteChangesetVersionCommand.call(RemoteChangesetVersionCommand.java:33) at hudson.remoting.UserRequest.perform(UserRequest.java:121) at hudson.remoting.UserRequest.perform(UserRequest.java:49) at hudson.remoting.Request$2.run(Request.java:325) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 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:69) at java.lang.Thread.run(Unknown Source) at ......remote call to AGENT(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416) at hudson.remoting.UserResponse.retrieve(UserRequest.java:220) at hudson.remoting.Channel.call(Channel.java:781) ... 14 more {noformat} h1. Notes Looking in the log on the agent, I see: {noformat} INFO: Restarting slave via jenkins.slaves.restarter.WinswSlaveRestarter@18f5ce68 Feb 27, 2016 2:02:21 PM jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$2$1 onReconnect SEVERE: Failed to restart slave with jenkins.slaves.restarter.WinswSlaveRestarter@18f5ce68 java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution at jenkins.slaves.restarter.WinswSlaveRestarter.restart(WinswSlaveRestarter.java:54) at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$2$1.onReconnect(JnlpSlaveRestarterInstaller.java:77) at hudson.remoting.EngineListenerSplitter.onReconnect(EngineListenerSplitter.java:49) at hudson.remoting.Engine.run(Engine.java:288) {noformat} It might be possible to catch {{IOException}} in {{Server#execute}}, check if it's due to {{UnsatisfiedLinkError}} and point users to the same wiki page, allowing confused users to skip the step where they have to go figure out what's going on by browsing the agent's log.

    Jenkins JIRA | 9 months ago | Olivier Dagenais
    java.io.IOException: Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Restart of Jenkins is broken since version 1.14

    GitHub | 2 years ago | BernhardBerbuir
    java.io.IOException: Restarting a service [Jenkins] $ "C:\Program Files\Jenkins\jenkins.exe" restart ```
  6. 0

    When running as a Windows service, Jenkins is unable to restart itself after installing/upgrading plugins or running /restart. The tail of jenkins.err.log reads: """ WARNING: Failed to restart Hudson java.io.IOException: Restarting a service [Jenkins] $ "C:\Program Files (x86)\Jenkins\jenkins.exe" restart at hudson.lifecycle.WindowsServiceLifecycle.restart(WindowsServiceLifecycle.java:135) at jenkins.model.Jenkins$23.run(Jenkins.java:3288) """ Additionally, jenkins.wrapper.log shows the following error: """ 2014-04-16 16:54:57 - Starting C:\Program Files (x86)\Jenkins\jre\bin\java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=8080 2014-04-16 16:54:57 - Started 1796 2014-04-17 18:14:19 - Stopping jenkins 2014-04-17 18:14:19 - ProcessKill 1796 2014-04-17 18:14:19 - Send SIGINT 1796 2014-04-17 18:14:19 - SIGINT to1796 successful 2014-04-17 18:14:19 - Send SIGINT 1796 2014-04-17 18:14:19 - SIGINT to 1796 failed - Killing as fallback 2014-04-17 18:14:19 - Finished jenkins """ On previous versions of Jenkins, none of the lines with "SIGINT" are present, and restart works as expected. Seeing this issue on two different Windows machines. Can be tested with a stock installation of jenkins-1.559.msi. After Jenkins is installed, go to localhost:8080/restart and restart. The Jenkins service will stop but not restart, and the above error can be seen in the err log. Went back and tested 1.549, 1.554, 1.557 and 1.558. None of these exhibited this problem. Reinstalled 1.559, and saw the problem immediately. Work-around is to run Windows Services manager and manually restart Jenkins service.

    Jenkins JIRA | 3 years ago | JCK
    java.io.IOException: Restarting a service [Jenkins] $ "C:\Program Files (x86)\Jenkins\jenkins.exe" restart

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.io.IOException

      Restart failure. 'C:\path-to-jenkins\jenkins-slave.exe restart' completed with 0 but I'm still alive! See https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Windowsslaveserviceupgrades for a possible explanation and solution

      at jenkins.slaves.restarter.WinswSlaveRestarter.restart()
    2. jenkins.slaves.restarter
      JnlpSlaveRestarterInstaller$2$1.onReconnect
      1. jenkins.slaves.restarter.WinswSlaveRestarter.restart(WinswSlaveRestarter.java:54)
      2. jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$2$1.onReconnect(JnlpSlaveRestarterInstaller.java:77)
      2 frames
    3. Hudson :: Remoting Layer
      Engine.run
      1. hudson.remoting.EngineListenerSplitter.onReconnect(EngineListenerSplitter.java:49)
      2. hudson.remoting.Engine.run(Engine.java:288)
      2 frames