-
Bug
-
Resolution: Fixed
-
Minor
-
None
If you enable remote polling in the Git Plugin, the project will never poll successfully, and stops other projects polling as well.
In GitSCM, requiresWorkspaceForPolling() returns false if remotePoll is enabled.
https://github.com/jenkinsci/git-plugin/blob/git-1.1.12/src/main/java/hudson/plugins/git/GitSCM.java#L582
This mean that in the jenkins-core AbstractProject (at least on the LTS branch), a null value is passed in for the workspace parameter to SCM.poll()
https://github.com/jenkinsci/jenkins/blob/jenkins-1.409.1/core/src/main/java/hudson/model/AbstractProject.java#L1305
This ends up in 'compareRemoteRevisionWith' back in GitSCM. At line 651, the call to 'workingDirectory(workspace)' returns null - because null was passed in as a param from AbstractProject. This means that at line 657, the call to !!workingDirectory.exists() results in a null pointer.
Suggested fix: remove the remotePoll, or make it require a workspace to do the polling.
Stacktrace:
Sep 2, 2011 2:41:50 PM hudson.triggers.SCMTrigger$Runner runPolling
SEVERE: Failed to record SCM polling
java.lang.NullPointerException
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:657)
at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:354)
at hudson.scm.SCM.poll(SCM.java:371)
at hudson.model.AbstractProject.poll(AbstractProject.java:1305)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:420)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:449)
at hudson.triggers.SCMTrigger.run(SCMTrigger.java:103)
at hudson.triggers.SCMTrigger.run(SCMTrigger.java:83)
at hudson.triggers.Trigger$1.run(Trigger.java:229)
at hudson.DependencyRunner.run(DependencyRunner.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
- is related to
-
JENKINS-10131 Git polling shouldn't need a workspace on a slave.
- Closed