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

Github-Jenkins Trigger issue with slave

    XMLWordPrintable

Details

    Description

      I have a jenkins instance which has a windows slave machine attached. I also have a job running which resides in github and I have the trigger - "Build when a change is pushed to GitHub" set.

      as I push a change to github, there is no build triggered on jenkins. I check and see that the payload does get tranferred to jenkins in the "Github hook log" but I get the following error:

      Using strategy: Default
      [poll] Last Built Revision: Revision ce6a183e834a3e31afa0eb83a4418b0619c8642b (origin/master)
      > "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master # timeout=10
      FATAL: hudson.plugins.git.GitException: Error performing command: "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master
      hudson.util.IOException2: hudson.plugins.git.GitException: Error performing command: "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master
      at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:462)
      at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:357)
      at hudson.scm.SCM.poll(SCM.java:374)
      at hudson.model.AbstractProject._poll(AbstractProject.java:1428)
      at hudson.model.AbstractProject.poll(AbstractProject.java:1331)
      at com.cloudbees.jenkins.GitHubPushTrigger$1.runPolling(GitHubPushTrigger.java:73)
      at com.cloudbees.jenkins.GitHubPushTrigger$1.run(GitHubPushTrigger.java:98)
      at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
      at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: hudson.plugins.git.GitException: Error performing command: "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1444)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1225)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1138)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1129)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2059)
      at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:495)
      at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:460)
      ... 13 more
      Caused by: java.io.IOException: Cannot run program ""C:\Program Files (x86)\Git\cmd\git.exe"": error=2, No such file or directory

      Basically complains about not being able to run the command C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master

      But as I manually go into my slave machine and run the command, it works fine.

      Please note that 1. I have made the adjustment where jenkins slave service logs in as admin so that it has all permissions. 2. My default jenkins server is a linux box and the slave machine is a windows box. Obviously both have different git executable path. So I am wondering if jenkins runs this command on my linux box for some reason.

      I do have the project setup to run on the windows slave box only and that works fine as it builds fine(so it is able to find the git executable for the job)

      Any pointers?

      Also does anyone know how github plugin for jenkins works with slave machines(does it look for git in the slave or does it go to where jenkins resides, as that might be the source, though have no idea what the solution for that weird case would be?)

      Attachments

        Activity

          markewaite I would like to re-open this issue. We are encountering the exact same behavior, though our setup is a bit different. We are not using git hooks in our case, simple SCM Polling. As with the originally reported situation, this is happening with a Linux master an multiple (8) windows slaves. All slaves are presenting with the same issue. Setting "Force polling workspace" also works as a workaround in our case.

          We are seeing this with Jenkins 1.609.1, Git 2.4, Git client 1.16.1

          Below is our stack trace, though it does not seem to differ materially from the one in the original report:

          Started on Aug 4, 2015 12:37:01 PM
          Polling SCM changes on hq-jenwin-007
          Using strategy: Default
          [poll] Last Built Revision: Revision c61ffa28bf6375f1907d49cc7c5ad282c32c5f1c (refs/remotes/origin/prod)
          using GIT_SSH to set credentials Credential ID: ******
           > C:\Program Files (x86)\Git\cmd\git.exe --version # timeout=10
           > C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh://git@stash:7999/**/**.git # timeout=10
          FATAL: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh://git@stash:7999/**/**.git
          hudson.util.IOException2: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh://git@stash:7999/**/**.git
            at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:529)
            at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:380)
            at hudson.scm.SCM.poll(SCM.java:397)
            at org.jenkinsci.plugins.multiplescms.MultiSCM.compareRemoteRevisionWith(MultiSCM.java:100)
            at hudson.scm.SCM.poll(SCM.java:397)
            at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1467)
            at hudson.model.AbstractProject._poll(AbstractProject.java:1438)
            at hudson.model.AbstractProject.poll(AbstractProject.java:1349)
            at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:510)
            at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:539)
            at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
          Caused by: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh://git@stash:7999/**/**.git
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1598)
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1379)
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1277)
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1268)
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2327)
            at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:583)
            at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:527)
            ... 15 more
          Caused by: java.io.IOException: Cannot run program "C:\Program Files (x86)\Git\cmd\git.exe": error=2, No such file or directory
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
            at hudson.Proc$LocalProc.<init>(Proc.java:244)
            at hudson.Proc$LocalProc.<init>(Proc.java:216)
            at hudson.Launcher$LocalLauncher.launch(Launcher.java:803)
            at hudson.Launcher$ProcStarter.start(Launcher.java:381)
            at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1587)
            ... 21 more
          Caused by: java.io.IOException: error=2, No such file or directory
            at java.lang.UNIXProcess.forkAndExec(Native Method)
            at java.lang.UNIXProcess.<init>(UNIXProcess.java:187)
            at java.lang.ProcessImpl.start(ProcessImpl.java:134)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
            ... 26 more
          Done. Took 50 ms
          No changes
          
          kbaltrinic Kenneth Baltrinic added a comment - markewaite I would like to re-open this issue. We are encountering the exact same behavior, though our setup is a bit different. We are not using git hooks in our case, simple SCM Polling. As with the originally reported situation, this is happening with a Linux master an multiple (8) windows slaves. All slaves are presenting with the same issue. Setting "Force polling workspace" also works as a workaround in our case. We are seeing this with Jenkins 1.609.1, Git 2.4, Git client 1.16.1 Below is our stack trace, though it does not seem to differ materially from the one in the original report: Started on Aug 4, 2015 12:37:01 PM Polling SCM changes on hq-jenwin-007 Using strategy: Default [poll] Last Built Revision: Revision c61ffa28bf6375f1907d49cc7c5ad282c32c5f1c (refs/remotes/origin/prod) using GIT_SSH to set credentials Credential ID: ****** > C:\Program Files (x86)\Git\cmd\git.exe --version # timeout=10 > C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh: //git@stash:7999 /**/ **.git # timeout=10 FATAL: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh: //git@stash:7999 /**/ **.git hudson.util.IOException2: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh: //git@stash:7999 /**/ **.git at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:529) at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:380) at hudson.scm.SCM.poll(SCM.java:397) at org.jenkinsci.plugins.multiplescms.MultiSCM.compareRemoteRevisionWith(MultiSCM.java:100) at hudson.scm.SCM.poll(SCM.java:397) at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1467) at hudson.model.AbstractProject._poll(AbstractProject.java:1438) at hudson.model.AbstractProject.poll(AbstractProject.java:1349) at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:510) at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:539) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang. Thread .run( Thread .java:745) Caused by: hudson.plugins.git.GitException: Error performing command: C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h ssh: //git@stash:7999 /**/ **.git at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1598) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1379) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1277) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1268) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:2327) at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:583) at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:527) ... 15 more Caused by: java.io.IOException: Cannot run program "C:\Program Files (x86)\Git\cmd\git.exe" : error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at hudson.Proc$LocalProc.<init>(Proc.java:244) at hudson.Proc$LocalProc.<init>(Proc.java:216) at hudson.Launcher$LocalLauncher.launch(Launcher.java:803) at hudson.Launcher$ProcStarter.start(Launcher.java:381) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1587) ... 21 more Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:187) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 26 more Done. Took 50 ms No changes

          I should have added that we recently upgraded from an old version of jenkins where we were not seeing this behavior: Our old system was Jenkins 1.552, Git plugin 1.4 and Git Client plugin 1.6.

          kbaltrinic Kenneth Baltrinic added a comment - I should have added that we recently upgraded from an old version of jenkins where we were not seeing this behavior: Our old system was Jenkins 1.552, Git plugin 1.4 and Git Client plugin 1.6.
          markewaite Mark Waite added a comment -

          I think the problem you're seeing is due to JENKINS-28943 and is resolved in git client plugin 1.18.0. I'm surprised you didn't update to git client plugin 1.18.0 at the same time you updated to git plugin 2.4.0.

          If that does not fix it, then you can also work-around the problem by changing the path to the git executable on those computers from C:\Program Files (x86)\Git\cmd\git.exe to C:\Program Files (x86)\Git\bin\git.exe

          markewaite Mark Waite added a comment - I think the problem you're seeing is due to JENKINS-28943 and is resolved in git client plugin 1.18.0. I'm surprised you didn't update to git client plugin 1.18.0 at the same time you updated to git plugin 2.4.0. If that does not fix it, then you can also work-around the problem by changing the path to the git executable on those computers from C:\Program Files (x86)\Git\cmd\git.exe to C:\Program Files (x86)\Git\bin\git.exe

          markewaite It took me a while get back to this. I have upgraded our git client to 1.18.0 but we are still experiencing the same problem as I detailed above.

          kbaltrinic Kenneth Baltrinic added a comment - markewaite It took me a while get back to this. I have upgraded our git client to 1.18.0 but we are still experiencing the same problem as I detailed above.
          markewaite Mark Waite added a comment -

          kbaltrinic have you tried the alternative I suggested in my previous comment, changing the Jenkins configured path for the git executable from

          C:\Program Files (x86)\Git\cmd\git.exe
          

          to

          C:\Program Files (x86)\Git\bin\git.exe
          
          markewaite Mark Waite added a comment - kbaltrinic have you tried the alternative I suggested in my previous comment, changing the Jenkins configured path for the git executable from C:\Program Files (x86)\Git\cmd\git.exe to C:\Program Files (x86)\Git\bin\git.exe

          People

            Unassigned Unassigned
            kaulk Kuber Kaul
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: