jgritty
jgritty

Reputation: 11935

Some plugin stops Jenkins mail from working

I recently updated jenkins to version 1.576 as well as all the plugins. This one build is having a problem. There are other builds that seem to be working fine. I'm trying to figure out how to even debug this further. I can successfully send test messages. This is all running on a CentOS server.

Reported in the console on the web server:

[Cobertura] Publishing Cobertura coverage report...
Publishing Cobertura coverage results...
Cobertura coverage report found.
Recording test results
ERROR: Publisher hudson.tasks.Mailer aborted due to exception
java.lang.NullPointerException
Finished: FAILURE

In the jenkins.log on the server:

INFO: omicia_webapp_dev #1240 main build action completed: SUCCESS 

Aug 20, 2014 10:50:32 AM hudson.model.AbstractBuild$AbstractBuildExecution reportError 

WARNING: Publisher hudson.tasks.Mailer aborted due to exception java.lang.NullPointerException 

Aug 20, 2014 10:50:32 AM jenkins.model.lazy.LazyBuildMixIn removeRun 

WARNING: hudson.model.FreeStyleProject@1943b93b[omicia_webapp_dev] did not contain omicia_webapp_dev #1237 to begin with

Disabling the email completely led me to see this error in the console log:

Publishing Cobertura coverage results...
Cobertura coverage report found.
Recording test results
FATAL: null
java.lang.NullPointerException

Leads me to believe it's not as simple as just a mail problem.

Disabling the email and the cobertura code coverage plugin seems to have resolved the problem. Turning the email back on now...

After updating some stray plugins, I get a slightly different error, with a stracktrace...

Recording test results FATAL: null java.lang.NullPointerException at java.lang.String$CaseInsensitiveComparator.compare(String.java:1227) at java.lang.String$CaseInsensitiveComparator.compare(String.java:1220) at java.lang.String.compareToIgnoreCase(String.java:1270) at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:40) at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:34) at jenkins.model.IdStrategy$CaseInsensitive.compare(IdStrategy.java:160) at jenkins.model.IdStrategy.equals(IdStrategy.java:78) at hudson.model.User.getOrCreate(User.java:393) at hudson.model.User.getAll(User.java:475) at hudson.model.User$FullNameIdResolver.resolveCanonicalId(User.java:903) at hudson.model.User.get(User.java:358) at hudson.model.User.get(User.java:331) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:251) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:326) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:352) at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:348) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:689) at hudson.model.Run.execute(Run.java:1765) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:233)

Deleting build steps, all of them, re-running the build, and then re-adding them didn't work. The null pointer exception could be reproduced even with no build steps.

Upvotes: 2

Views: 941

Answers (1)

jgritty
jgritty

Reputation: 11935

I never was able to get this fixed. I re-installed Jenkins on a new server and started over from scratch. This seems to have resolved the problem.

It doesn't seem as though it was related to plugins at all.

Based on the 1.577 version changelog, it seems like a bug in Jenkins:

What's new in 1.577 (2014/08/24)
Failure to migrate legacy user records in 1.576 properly broke Jenkins, 
resulted in NullPointerExceptions.  (issue 24317)
Prevent NullPointerException from Executor.run. (issue 24110)

Upvotes: 2

Related Questions