-
Bug
-
Resolution: Fixed
-
Major
-
Ubuntu Linux 2.6 Server x86 GNU/Linux
-
Powered by SuggestiMate
Kohsuke's updated summary
In 1.485, there's a bug that causes Jenkins to return null when someone is listing historical build records. The caller is not expecting null return value, so this normally results in NullPointerException.
Because there are numerous code inside Jenkins that touches build history, such NullPointerException can occur in a large number of different places.
If you are not sure your NullPointerException is just another manifestation of this bug or an unrelated bug, please feel free to file a separate ticket, and mention this ticket as a possible cause so that the plugin developers won't get confused.
Original bug report
running the build fails with the following error:
ERROR: Processing failed due to a bug in the code. Please report this to jenkinsci-users@googlegroups.com
java.lang.NullPointerException
at hudson.tasks.LogRotator.perform(LogRotator.java:119)
at hudson.model.Job.logRotate(Job.java:338)
at hudson.model.Run.execute(Run.java:1581)
at hudson.maven.MavenBuild.access$600(MavenBuild.java:83)
at hudson.maven.MavenBuild$ProxyImpl2.close(MavenBuild.java:545)
at hudson.maven.AbstractMavenBuilder.end(AbstractMavenBuilder.java:106)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:794)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:589)
at hudson.model.Run.execute(Run.java:1516)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:236)
project=hudson.maven.MavenModuleSet@280d8b87[deploy sdk]
[JENKINS-15465] RunList returning null from its elements in 1.485
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/hudson/model/RunMap.java
core/src/main/java/hudson/util/RunList.java
http://jenkins-ci.org/commit/jenkins/807dc7174cd8ed4ec3cb9562f1c3f90f4035cf33
Log:
JENKINS-15465 tweaking subList implementation and iterator.
I can't really think of how null ends up in the resulting list, but adding a check in Iterator to detect that situation.
Also, improved the efficiency of the subList implementation.
Compare: https://github.com/jenkinsci/jenkins/compare/35eadbcf6e96...807dc7174cd8
Excellent - thanks! I just finished compiling Jenkins, in an attempt to fix it myself.
Will there be a release soon, considering that this is a showstopper for many, or should people needing it right away compile their own version? Since this is an bundled plugin, updating jenkins.war should be enough I guess?
(The RC-link http://mirrors.jenkins-ci.org/war-rc/latest/jenkins.war currently shows 404)
Integrated in jenkins_main_trunk #1987
JENKINS-15465 tweaking subList implementation and iterator. (Revision 807dc7174cd8ed4ec3cb9562f1c3f90f4035cf33)
Result = UNSTABLE
kohsuke : 807dc7174cd8ed4ec3cb9562f1c3f90f4035cf33
Files :
- core/src/main/java/hudson/util/RunList.java
- core/src/main/java/hudson/model/RunMap.java
Those who are seeing this issue, can you please try build #1987 or later and report what happens?
This is a very critical bug that I'd like to fix quickly, so I really appreciate everyone's help.
I'm not seeing the exact same symptoms as reported here but I'm guessing its the same. I'm getting an NPE in hudson.util.RunList$1.compare
0-Oct-2012 21:13:36 hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: empty(entries). Reason: java.lang.NullPointerException java.lang.NullPointerException at hudson.util.RunList$1.compare(RunList.java:87) at hudson.util.RunList$1.compare(RunList.java:85) at com.google.common.collect.Iterators$MergingIterator$1.compare(Iterators.java:1300) at com.google.common.collect.Iterators$MergingIterator$1.compare(Iterators.java:1297) ...
Downloading build 1989 jenkins.war now.
On startup I'm getting the following assertion failures.
10-Oct-2012 23:12:26 jenkins.model.lazy.AbstractLazyLoadRunMap search WARNING: Assertion error: failing to load #2147483647 DESC: lo=18,hi=22,pivot=20,size=21 (initial:lo=0,hi=22) java.lang.Exception at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:414) at jenkins.model.lazy.AbstractLazyLoadRunMap.newestBuild(AbstractLazyLoadRunMap.java:293) at hudson.model.AbstractProject.getLastBuild(AbstractProject.java:998) at hudson.maven.AbstractMavenProject.createTransientActions(AbstractMavenProject.java:184) at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:665) at hudson.maven.MavenModule.updateTransientActions(MavenModule.java:411) at hudson.model.AbstractProject.onLoad(AbstractProject.java:299) at hudson.maven.MavenModule.onLoad(MavenModule.java:236) at hudson.model.Items.load(Items.java:221) at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99) at hudson.maven.MavenModuleSet.onLoad(MavenModuleSet.java:669) at hudson.model.Items.load(Items.java:221) at jenkins.model.Jenkins$17.run(Jenkins.java:2507) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$7.runTask(Jenkins.java:883) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) 10-Oct-2012 23:12:26 jenkins.InitReactorRunner$1 onTaskFailed SEVERE: Failed Loading job tcserv java.lang.ArrayIndexOutOfBoundsException: Assertion error: failing to load #2147483647 DESC: lo=18,hi=22,pivot=20,size=21 (initial:lo=0,hi=22) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:415) at jenkins.model.lazy.AbstractLazyLoadRunMap.newestBuild(AbstractLazyLoadRunMap.java:293) at hudson.model.AbstractProject.getLastBuild(AbstractProject.java:998) at hudson.maven.AbstractMavenProject.createTransientActions(AbstractMavenProject.java:184) at hudson.model.AbstractProject.updateTransientActions(AbstractProject.java:665) at hudson.maven.MavenModule.updateTransientActions(MavenModule.java:411) at hudson.model.AbstractProject.onLoad(AbstractProject.java:299) at hudson.maven.MavenModule.onLoad(MavenModule.java:236) at hudson.model.Items.load(Items.java:221) at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99) at hudson.maven.MavenModuleSet.onLoad(MavenModuleSet.java:669) at hudson.model.Items.load(Items.java:221) at jenkins.model.Jenkins$17.run(Jenkins.java:2507) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) at jenkins.model.Jenkins$7.runTask(Jenkins.java:883) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) 10-Oct-2012 23:12:26 jenkins.InitReactorRunner$1 onAttained INFO: Loaded all jobs
Now reproduced with a local build of jenkins.war.
This issue only seems to crop up on about 1 in 3 startups of jenkins.
I got a couple more assertion failures with the current set of information on it.
WARNING: Assertion error: failing to load #2147483647 DESC: lo=12,hi=22,pivot=17,size=21 (initial:lo=0,hi=22,size=22)
It looks like the size of the array is shrinking from 22 to 21 during loading.
Looking at my builds directory I only have 21 builds in there.
richm@royalcounty:~$ ls /opt/hudson/jobs/tcserv/builds/ 1241/ 1255/ 2012-10-08_13-01-06/ 1242/ 1256/ 2012-10-08_22-01-06/ 1243/ 1257/ 2012-10-09_01-01-06/ 1244/ 1258/ 2012-10-09_14-41-42/ 1245/ 1259/ 2012-10-09_16-01-06/ 1246/ 1260/ 2012-10-10_15-01-06/ 1247/ 2012-05-03_19-38-34/ 2012-10-10_16-01-06/ 1248/ 2012-10-05_01-01-06/ 2012-10-10_17-01-06/ 1249/ 2012-10-05_02-01-06/ 2012-10-10_18-01-06/ 1250/ 2012-10-05_11-01-06/ 2012-10-10_18-15-41/ 1251/ 2012-10-05_14-01-06/ 2012-10-10_18-41-13/ 1252/ 2012-10-05_14-28-04/ 2012-10-10_19-10-01/ 1253/ 2012-10-05_15-01-06/ 2012-10-10_21-00-57/ 1254/ 2012-10-05_16-01-06/ 990/
Confirmed that I am seeing NPE's being thrown on M2 jobs with up/downstream dependencies. Standalone jobs with Maven build steps do not have this issue.
I'm not seeing any data loss in any of my M2 jobs.
I just deployed build 1990 and the issue appears to have been resolved. I am no longer seeing NPE's on M2 jobs with up/downstream dependencies.
It looks to me like the additional builds in the list are due to maven submodule builds where the top level build record no longer exists. I added debug into the removal codepath where it detects a null r value and the ones it is removing correspond to build records that only exist at the lower level
11-Oct-2012 01:21:42 jenkins.model.lazy.AbstractLazyLoadRunMap search WARNING: r was null for pivot=0, id=2010-10-28_01-01-34
richm@royalcounty:~$ find /opt/hudson/jobs/tcserv -name 2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m1/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m2/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m3/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m4/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m5/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m6/builds/2010-10-28_01-01-34 /opt/hudson/jobs/tcserv/modules/a.b.c$m7/builds/2010-10-28_01-01-34
I've just started testing build 1990, and I am not sure what my status is:
After 15 minutes of uptime I have ~180MB of log files, apparently full of exceptions like this:
[#|2012-10-11T09:22:11.437+0200|WARNING|sun-appserver2.1|hudson.util.RobustCollectionConverter|_ThreadID=17;_ThreadName=Loading job Insights Oberon Oracle Tests;_RequestID=1a7ebc56-d6cb-4557-b695-a3755c692961;|Failed to resolve class
com.thoughtworks.xstream.mapper.CannotResolveClassException: org.jvnet.hudson.plugins.DownstreamBuildViewAction : org.jvnet.hudson.plugins.DownstreamBuildViewAction
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:68)
All jobs have been loaded, as far as I can see, and builds now seem to complete.
But: When I go to jenkins/administrativeMonitor/OldData/manage I sometimes get an exception (manage.jelly:35:59: <j:forEach> java.util.ConcurrentModificationException) and whenever the page loads I see plenty of jobs that weren't loaded due to CannotResolveClassException: org.jvnet.hudson.plugins.DownstreamBuildViewAction: org.jvnet.hudson.plugins.DownstreamBuildViewAction
Update: Plenty of historical builds are now missing (all builds for several jobs), and I am pretty sure those jobs were present when I started writing my previous comment...
Yes, build history is missing with 1.485. Going back to 1.484 brings the history back.
The fix that I proposed for JENKINS-15439 does not fully fix the issue. It fixes the issue with AbstractLazyLoadRunMap search failing but I still see some null values in RunList.
The null values are not present when Jenkins starts up but after a while (an hour or two) then the null values are present.
In my case I have worked out that I can cause a symptom of the error to occur by reading the rssAll feed. Immediately after jenkins starts up this reads normally but when things have gone wrong the feed returns the error.
A simple
wget -O /tmp/rssAll.xml http://localhost:8080/jenkins/rssAll
Will force the error.
Stacktrace as follows.
Caused by: javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.487-SNAPSHOT.jar!/hudson/atom.jelly:48:44: <j:forEach> java.lang.NullPointerException
at org.kohsuke.stapler.jelly.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:60)
at hudson.model.RSS.forwardToRss(RSS.java:86)
at hudson.model.View.rss(View.java:957)
at hudson.model.View.doRssAll(View.java:941)
... 69 more
I added some debug into the RunList constructor that gets called in the doRssAll method. That gives me approximately 500 null entries in the constructed RunList. All of these are maven submodule entries. At this moment I am not sure if it is every submodule entry (with a build record) that is null but that is certainly a close approximation.
11-Oct-2012 13:18:21 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod1 11-Oct-2012 13:18:21 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod1 11-Oct-2012 13:18:21 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod2 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod3 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod3 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod3 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod3 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod3 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod4 11-Oct-2012 13:18:22 hudson.util.RunList oldelvetCheckRunList WARNING: Assertion error: null runlist entry for job=a.b.c.d:mod5
Yepp, build history disappeared for me to with 1.485, got it back by downgrading. Is this related to the NPE?
ERROR: Processing failed due to a bug in the code. Please report this to jenkinsci-users@googlegroups.com
java.lang.NullPointerException
at hudson.tasks.LogRotator.perform(LogRotator.java:140)
at hudson.model.Job.logRotate(Job.java:338)
@kohsuke I've got a pretty good handle on what is going on here but don't know enough about how maven multi-module projects fit together to get to the bottom of the issue.
I can re-create the issue by simulating a low memory situation which forces soft-references to get cleared (i.e. cause an OOM) and then after that requesting the rssAll URL will cause the problem. This does require that the jenkins instance has some multi-module maven builds.
http://localhost:8080/jenkins/rssAll
Note that the single module builds all seem to be fine and have build history (indeed the top level build history of the multi-module looks fine). I suspect that something in the multi-module history is not getting rebuilt properly.
Adding the following to a suitable view will allow you to force an OOM.
public void doClearSoftReferences( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException { rsp.setContentType("text/plain"); PrintWriter w = new PrintWriter(rsp.getCompressedWriter(req)); w.println("About to cause mischief"); w.flush(); /* Force releasing SoftReferences * Borrowed from http://stackoverflow.com/questions/3785713/how-to-make-the-java-system-release-soft-references */ try { final List<long[]> memhog = new LinkedList<long[]>(); while(true) { memhog.add(new long[102400]); } } catch(final OutOfMemoryError e) { /* At this point all SoftReferences have been released - GUARANTEED. */ } w.println("Mischief over"); w.close(); }
I found two issues when I upgraded Jenkins from 81 to 85.
a. I could see all of my Ant based jobs. But missing to see Maven based builds (I found that I've upgraded the maven plugin from 1.478 to 1.485 which is causing the problem)
b. Missing build history for some jobs (I think this is the issue with 1.485 Jenkins version)
So I've downgraded Jenkins maven plug-in to see my previous Maven based builds. Now I've updated my 1.481 Jenkins to 1.484 and works fine as expected.
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
http://jenkins-ci.org/commit/jenkins/ca44a90e27263d390ff5414b25ec4e7b5c79d687
Log:
JENKINS-15465
If a build record gets GCed, a load is attempted, and that fails, then RunMap can return null. Not sure if this alone would explain the entirety of JENKINS-15465, but this is a related fix.
@kohsuke the BuildReferenceMapAdapter does silently paper over the cracks and stops the /rssAll URL from falling over NPEs but all of the build records are gone after forcing an OOM. The size of the RSS drops from 256229 to 700 bytes.
There is no suggestion that anything is wrong in the logs so that could potentially mask other real problems in the future. I can't think of any easy way round it to get the right balance between safety and diagnosablity
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
http://jenkins-ci.org/commit/jenkins/04c87d8d99668125b2794b9d78047011de6c52ca
Log:
[FIXED JENKINS-15465]
If unwrap returns null, we need to fall through to load to try it again.
oldelvet and I think 04c87d8d99668125b2794b9d78047011de6c52ca really does fix the problem.
Those of you who are seeing this issue, please try build #1993 or later and report back what you see. Thanks!
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/hudson/model/RunMap.java
core/src/main/java/hudson/util/RunList.java
http://jenkins-ci.org/commit/jenkins/04b0283d1a95fa424863d7de0dd8a73078eecb37
Log:
JENKINS-15465 tweaking subList implementation and iterator.
I can't really think of how null ends up in the resulting list, but adding a check in Iterator to detect that situation.
Also, improved the efficiency of the subList implementation.
(cherry picked from commit 807dc7174cd8ed4ec3cb9562f1c3f90f4035cf33)
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
http://jenkins-ci.org/commit/jenkins/9dde518f85da4811ab1803105c4c03b266b04749
Log:
JENKINS-15465
If a build record gets GCed, a load is attempted, and that fails, then RunMap can return null. Not sure if this alone would explain the entirety of JENKINS-15465, but this is a related fix.
(cherry picked from commit ca44a90e27263d390ff5414b25ec4e7b5c79d687)
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
changelog.html
core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
http://jenkins-ci.org/commit/jenkins/ac3b25baec8ce24ec9c60cdeb0f097047592706c
Log:
[FIXED JENKINS-15465]
If unwrap returns null, we need to fall through to load to try it again.
(cherry picked from commit 04c87d8d99668125b2794b9d78047011de6c52ca)
Compare: https://github.com/jenkinsci/jenkins/compare/6fca1f08d20f...ac3b25baec8c
Actually, a better one to point people to is RC build #279 since this is what we'd like to release as 1.486.
Integrated in jenkins_main_trunk #1993
[FIXED JENKINS-15465] (Revision 04c87d8d99668125b2794b9d78047011de6c52ca)
Result = SUCCESS
kohsuke : 04c87d8d99668125b2794b9d78047011de6c52ca
Files :
- core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
- core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
Integrated in jenkins_main_trunk #1994
JENKINS-15465 tweaking subList implementation and iterator. (Revision 04b0283d1a95fa424863d7de0dd8a73078eecb37)
JENKINS-15465 (Revision 9dde518f85da4811ab1803105c4c03b266b04749)
[FIXED JENKINS-15465] (Revision ac3b25baec8ce24ec9c60cdeb0f097047592706c)
Result = SUCCESS
kohsuke : 04b0283d1a95fa424863d7de0dd8a73078eecb37
Files :
- core/src/main/java/hudson/model/RunMap.java
- core/src/main/java/hudson/util/RunList.java
kohsuke : 9dde518f85da4811ab1803105c4c03b266b04749
Files :
- core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
kohsuke : ac3b25baec8ce24ec9c60cdeb0f097047592706c
Files :
- changelog.html
- core/src/main/java/jenkins/model/lazy/BuildReferenceMapAdapter.java
- core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
It's still exist in 1.486:
Status Code: 500
Exception: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.486.jar!/hudson/widgets/HistoryWidget/entry.jelly:39:106: <i:formatDate> java.lang.NullPointerException
Stacktrace:
javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.486.jar!/hudson/widgets/HistoryWidget/entry.jelly:39:106: <i:formatDate> java.lang.NullPointerException
at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:103)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
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 winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
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)
Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-1.486.jar!/hudson/widgets/HistoryWidget/entry.jelly:39:106: <i:formatDate> java.lang.NullPointerException
at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:726)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:281)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:95)
... 67 more
Caused by: java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1076)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:875)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:868)
at java.text.DateFormat.format(DateFormat.java:316)
at org.apache.commons.jelly.tags.fmt.FormatDateTag.doTag(FormatDateTag.java:182)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
... 122 more
@Tamas Papp. Your stack trace does not correspond with the symptoms reported against this issue. JENKINS-15499 is the same as yours and contrary to what I initially believed it seems that it is not related to the issue fixed in JENKINS-15465.
I'm going to re-mark this issue as resolved and suggest that you follow JENKINS-15499 instead.
Error still exists in 1.488:
Status Code: 500
Exception: org.apache.commons.jelly.JellyTagException: jar:file:/D:/Dienste/Tomcat7/webapps/jenkins/WEB-INF/lib/jenkins-core-1.488.jar!/hudson/widgets/HistoryWidget/entry.jelly:39:106: <i:formatDate> java.lang.NullPointerException
Stacktrace:
javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/D:/Dienste/Tomcat7/webapps/jenkins/WEB-INF/lib/jenkins-core-1.488.jar!/hudson/widgets/HistoryWidget/entry.jelly:39:106: <i:formatDate> java.lang.NullPointerException
at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:103)
We're facing the same issue after upgrading to 1.485. Seems like all our builds now fail with this error.