-
Bug
-
Resolution: Not A Defect
-
Major
-
Master:
Ubuntu 13.10
Linux master 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Jenkins 1.554.2
GitPlugin 2.2.1
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
Slave:
Windows 7 Ultimate x86_64
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)Master: Ubuntu 13.10 Linux master 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Jenkins 1.554.2 GitPlugin 2.2.1 OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu2) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) Slave: Windows 7 Ultimate x86_64 Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
I have a Master and Two slaves. The Linux Slave is behaving very well.
The problem is only related to the Windows Slave. It works nicely, till the problem happens. The only way to fix it is restarting Jenkins. Its a real problem, and affecting my teamwork. People ask me why the build was not triggered, and I then ask them to commit something else, after I quickly reboot Jenkins.
While the error is happening, I get:
Git Polling Log
Started on Jul 3, 2014 3:10:24 PM
Using strategy: Default
[poll] Last Built Revision: Revision 8ae038f280a0faa58243ec1df7af64d961a951c8 (origin/master)
using GIT_SSH to set credentials
> C:\git\cmd\git.exe ls-remote -h git@gitlab:group/repo.git master
FATAL: hudson.plugins.git.GitException: Error performing command: C:\git\cmd\git.exe ls-remote -h git@gitlab:group/repo.git master
hudson.util.IOException2: hudson.plugins.git.GitException: Error performing command: C:\git\cmd\git.exe ls-remote -h git@gitlab:group/repo.git master
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:459)
at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
at hudson.scm.SCM.poll(SCM.java:373)
at hudson.model.AbstractProject._poll(AbstractProject.java:1584)
at hudson.model.AbstractProject.poll(AbstractProject.java:1493)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:462)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:491)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Caused by: hudson.plugins.git.GitException: Error performing command: C:\git\cmd\git.exe ls-remote -h git@gitlab:group/repo.git master
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1332)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1186)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1110)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1101)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getHeadRev(CliGitAPIImpl.java:1788)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:492)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:457)
... 13 more
Caused by: java.io.IOException: Cannot run program "C:\git\cmd\git.exe": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:488)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:773)
at hudson.Launcher$ProcStarter.start(Launcher.java:353)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1321)
... 19 more
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:470)
... 24 more
Done. Took 68 ms
No changes
I know, it looks like git.exe is not there. But it is, really is. After restarting Jenkins, this happens (on another repo I was able to see the same error, and not I can push something).
Started on Jul 3, 2014 4:04:40 PM
Polling SCM changes on WINMACHINE
Using strategy: Default
[poll] Last Built Revision: Revision 62e80167e7067ede25727c3cb96885551694c860 (origin/master)
> C:\git\cmd\git.exe rev-parse --is-inside-work-tree
Fetching changes from the remote Git repositories
> C:\git\cmd\git.exe config remote.origin.url git@gitlab:tools/repo.git
Fetching upstream changes from git@gitlab:tools/repo.git
> C:\git\cmd\git.exe --version
using GIT_SSH to set credentials
> C:\git\cmd\git.exe fetch --tags --progress git@gitlab:tools/repo.git +refs/heads/:refs/remotes/origin/
Polling for changes in
Seen branch in repository origin/master
Seen 1 remote branch
> C:\git\cmd\git.exe log --full-history --no-abbrev --format=raw -M -m --raw 62e80167e7067ede25727c3cb96885551694c860..bb82f97faa7e27ba53c600050c8bef66df7fe5d0
Done. Took 18 sec
Changes found
Interesting is that now, right below the date, it says:
"Polling SCM changes on WINMACHINE"
This was not available on previous information...
It cannot be trying to go to the wrong machine... or "no-machine"? Its odd...
And I am using "branches to build" = */master
Another interesting thing... when not works, I can see this line:
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
Why I got an UNUXProcess error, if I am running it on a WinMachine? Does it make sense?
As per the checklist:
- I was not running git --version as build step, but was using git log. I already changed my pre-build script, which affects all jobs. Cannot force the error to happen, so I need to wait will next time the problem happen
- All Projects are restricted to run or on Linux or on Windows Slave machines. In this case, it affects only projects tied to Windows Slave.
- My GitPolling is configured as @yearly, since my GitLab installation does the trigger to the polling.
- I am not forcing pulling. I could not understood why I should use this, and on its description, we can read: "If this option is selected, polling will require a workspace and might trigger unwanted builds (see
JENKINS-10131)."
The only fix I can do is rebooting Jenkins. Then everything starts to work again, for a while.
Lovato