Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: github-plugin
-
Labels:None
-
Similar Issues:
Description
GitHubCommitNotifier is throwing a (very helpful) exception which causes the build to fail. This started this morning without things being changed on our end.
At first I thought it was due to the upgrade to 1.570 but even after downgrading to 1.569 it did not resolve the issue.
The exception that is being thrown in the console is:
15:09:57 Publishing Clover coverage report...
15:09:57 Publishing Clover XML report...
15:09:57 Publishing Clover coverage results...
15:09:57 Recording test results
15:09:58 ERROR: Publisher com.cloudbees.jenkins.GitHubCommitNotifier aborted due to exception
15:09:58 java.lang.NullPointerException
15:09:58 at com.cloudbees.jenkins.GitHubCommitNotifier.perform(GitHubCommitNotifier.java:53)
15:09:58 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
15:09:58 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
15:09:58 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:736)
15:09:58 at hudson.model.Build$BuildExecution.post2(Build.java:183)
15:09:58 at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:685)
15:09:58 at hudson.model.Run.execute(Run.java:1757)
15:09:58 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
15:09:58 at hudson.model.ResourceController.execute(ResourceController.java:88)
15:09:58 at hudson.model.Executor.run(Executor.java:234)
Attachments
Issue Links
- is related to
-
JENKINS-25312 GitHubCommitNotifier: Make the build result configurable on commit update failure
-
- Resolved
-
Activity
This doesn't appear to be an issue with ghprb. Is there any more to the stack trace?
I am seeing this as well.
jenkins 1.575, 1.574
ghprb - 1.13, 1.13-1
GitHub Plugin - 1.9, 1.9.1
GitHub API plugin - 1.56
RE: more logs - I see the same logs as Frank K.
This is something happening in the github plugin. Is it only happening when there isn't a previous build?
@Override public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { BuildData buildData = build.getAction(BuildData.class); String sha1 = ObjectId.toString(buildData.getLastBuiltRevision().getSha1());
re: previous build
Interesting.
I had to blow away my workspace for a completely unrelated reason.
Every build since has failed (b/c a vagrant box cannot be provisioned) and ended with the NPE describe above.
Despite having several (failing) runs, I always see: "First time build. Skipping changelog." after the pull from GitHub.
So, maybe it is only happening when there isn't a previous build.
I will push on this a little harder later today.
Yes. It appears that this is only happening if there is no last built revision.
The blame for that line is back in 2012-10-22 - http://git.io/mq-TlA
I will look up stream to see why there is no last built revision; for this job, it looks like there should be one.
> Is it only happening when there isn't a previous build?
Confirmed. Once the job has changes, I no longer see this NPE.
Just wanted to throw my name into the ring as someone who is also hung up on this bug.
+1
I'm also having this issue. Was there a fix for this?
+1
UPDATE: The project I am working on has submodules. If I remove the Advanced Submodule Processing options (or disable processing), I don't get this NPE. Of course, my build then fails downstream.
I am sponsoring a fix for 50USD.
Following the lines that lead to the commit notifier I don't understand how this line gets null for the lastRevision. Can you please PM me the log from one of the failed builds?
I can very easily create this null pointer error if there is nothing checked out using the git scm. As long as I have that set then there is a last build revision.
I am getting a similar error, It is showing this error:
ERROR: Publisher com.cloudbees.jenkins.GitHubCommitNotifier aborted due to exception 11:07:06 java.lang.NullPointerException 11:07:06 at com.cloudbees.jenkins.GitHubCommitNotifier.perform(GitHubCommitNotifier.java:53) 11:07:06 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 11:07:06 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) 11:07:06 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) 11:07:06 at hudson.model.Build$BuildExecution.post2(Build.java:183) 11:07:06 at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) 11:07:06 at hudson.model.Run.execute(Run.java:1765) 11:07:06 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 11:07:06 at hudson.model.ResourceController.execute(ResourceController.java:89) 11:07:06 at hudson.model.Executor.run(Executor.java:240)
This error is associated with only one pull request. I tried building other pull request for the same repository, they all ran fine.
What is special about that pull request, or the branch that it is pulling from?
There was nothing different about this branch. It was just a pull request for the same repo in which the branch exist. I had a similar branch which worked just fine.
Was the branch deleted or changed before the build ran or something? When I first got things running here there were several times that someone would close the PR just after Jenkins picked it up. But I don't recall this being the error.
I was just bitten by this issue. I am using GitHub Pull Request Builder (1.16-0) along with Github plugin (1.9.1).
I am trying build a PR using GHPRB.
ERROR: Publisher com.cloudbees.jenkins.GitHubCommitNotifier aborted due to exception java.lang.NullPointerException at com.cloudbees.jenkins.GitHubCommitNotifier.perform(GitHubCommitNotifier.java:53) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:756) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720) at hudson.model.Build$BuildExecution.post2(Build.java:182) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:669) at hudson.model.Run.execute(Run.java:1731) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:232)
Is there anything else I can provide to help with this error?
Also experienced the issue, it breaks our branch management flows.
Hope to submit a patch soon.
- Better issue's analysis: https://github.com/jenkinsci/github-plugin/pull/46
- Annotation for the git-plugin: https://github.com/jenkinsci/git-plugin/pull/259
I'm going to add an option, which disables the build failing if there's no info about Git changeset.
Would it be a convenient solution?
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/hudson/plugins/git/util/BuildData.java
http://jenkins-ci.org/commit/git-plugin/d0180c4a7e8ba3b72b1e7a5010ee578c92bd34e5
Log:
JENKINS-23641 - Annotate BuildData::getLastBuiltRevision()
Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Code changed in jenkins
User: Mark Waite
Path:
src/main/java/hudson/plugins/git/util/BuildData.java
http://jenkins-ci.org/commit/git-plugin/e0760d629ffe4a8f6b278ca66f7846450f1724e8
Log:
Merge pull request #259 from oleg-nenashev/JENKINS-23641
JENKINS-23641 - Annotate BuildData::getLastBuiltRevision()
Compare: https://github.com/jenkinsci/git-plugin/compare/e43d17f78690...e0760d629ffe
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/hudson/plugins/git/util/BuildData.java
http://jenkins-ci.org/commit/git-plugin/d15e4108e18cef7b66160f670e5d30f2ca2c652c
Log:
JENKINS-23641 - Annotate BuildData::getLastBuiltRevision()
Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/com/cloudbees/jenkins/GitHubCommitNotifier.java
http://jenkins-ci.org/commit/github-plugin/c4347f829f84fec909b7cfe1e6bc88b265a58e48
Log:
JENKINS-23641 - Handle possible nulls if Git checkout fails
Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/com/cloudbees/jenkins/GitHubCommitNotifier.java
src/main/resources/com/cloudbees/jenkins/Messages.properties
src/test/java/com/cloudbees/jenkins/GitHubCommitNotifierTest.java
http://jenkins-ci.org/commit/github-plugin/25c1e85dd48d2bbe878aa7eb26f862b6e9f52971
Log:
JENKINS-23641 - Direct tests for the issue
Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Code changed in jenkins
User: Oleg Nenashev
Path:
src/main/java/com/cloudbees/jenkins/GitHubCommitNotifier.java
src/main/resources/com/cloudbees/jenkins/GitHubCommitNotifier/config.jelly
src/main/resources/com/cloudbees/jenkins/Messages.properties
src/test/java/com/cloudbees/jenkins/GitHubCommitNotifierTest.java
http://jenkins-ci.org/commit/github-plugin/b6f53a72bc27dd81cc1241c10c3e63d1606138de
Log:
Merge pull request #46 from oleg-nenashev/JENKINS-23641
[JENKINS-23641,JENKINS-25312] - Handle possible nulls if Git checkout fails
Compare: https://github.com/jenkinsci/github-plugin/compare/0f29b1d8d500...b6f53a72bc27
Fix released in git plugin 2.3 10 Nov 2014
@Mark
Git plugin just contains annotations.
The fix to github-plugin has been applied here: https://github.com/jenkinsci/github-plugin/pull/46
Hope to release the plugin today
Any clues why this is happening Honza Brázdil Valdis Rigdon?