-
Bug
-
Resolution: Fixed
-
Minor
-
Jenkins 1.625.2
UsageStatistics#getStatData may get called while Jenkins is not completely initialized. As it navigates all top level items, it may cause unexpected effects in extensions and plugins affecting those items.
Example stack trace:
[.....] at jenkins.model.Jenkins.getAllItems(Jenkins.java:1409) at hudson.model.UsageStatistics.getStatData(UsageStatistics.java:160) [.....] at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314) [.....] at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147) 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.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) [.....] at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95) 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.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55) at hudson.util.HudsonIsLoading.doDynamic(HudsonIsLoading.java:45)
- links to
Code changed in jenkins
User: Andres Rodriguez
Path:
core/src/main/java/hudson/model/UsageStatistics.java
http://jenkins-ci.org/commit/jenkins/d8a13ac07c4357eb74ab45a03955c0db430e3aa9
Log:
JENKINS-32190Make UsageStatistics#isDue check Jenkins init level before generating stats.