Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-34722

Unbounded searches with BuildUtil.getDownstreamBuild

      BuildUtil.getDownstreamBuild does an unbounded search of build records, which is never acceptable due to Jenkins lazy-loading, and particular not in the context of an HTTP handler thread.

      It would be better is to use AbstractBuild.getDownstreamBuilds(AbstractProject), which is efficient, though it only works for project chains which are correctly configured with fingerprints.

      Example:

      "Handling GET /jenkins/org/job/Pipelines/job/org-build/view/Pipelines_View/ from 10.x.x.x : RequestHandlerThread[#2296] View/index.jelly" Id=126293 BLOCKED on hudson.model.RunMap@607d5beb owned by "Handling GET /jenkins/org/job/Pipelines/job/org-build/ from 10.x.x.x : RequestHandlerThread[#2297] View/index.jelly" Id=126471
          at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java)
          -  blocked on hudson.model.RunMap@607d5beb
          at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448)
          at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356)
          at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332)
          at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74)
          at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63)
          at java.util.AbstractMap$2$1.next(AbstractMap.java:396)
          at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:66)
      

          [JENKINS-34722] Unbounded searches with BuildUtil.getDownstreamBuild

          Code changed in jenkins
          User: Dan Alvizu
          Path:
          src/main/java/au/com/centrumsystems/hudson/plugin/util/BuildUtil.java
          src/test/java/au/com/centrumsystems/hudson/plugin/util/BuildUtilTest.java
          http://jenkins-ci.org/commit/build-pipeline-plugin/00a6a4ffe49f1a98ac0195dd5e940a3f070b79c9
          Log:
          Merge pull request #100 from christ66/perf

          [FIXED JENKINS-34722] Performance improvement to not load all jobs

          Compare: https://github.com/jenkinsci/build-pipeline-plugin/compare/1dbe68a2a15d...00a6a4ffe49f

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Dan Alvizu Path: src/main/java/au/com/centrumsystems/hudson/plugin/util/BuildUtil.java src/test/java/au/com/centrumsystems/hudson/plugin/util/BuildUtilTest.java http://jenkins-ci.org/commit/build-pipeline-plugin/00a6a4ffe49f1a98ac0195dd5e940a3f070b79c9 Log: Merge pull request #100 from christ66/perf [FIXED JENKINS-34722] Performance improvement to not load all jobs Compare: https://github.com/jenkinsci/build-pipeline-plugin/compare/1dbe68a2a15d...00a6a4ffe49f

          Dan Alvizu added a comment -

          Fixed in release 1.5.3.1

          Dan Alvizu added a comment - Fixed in release 1.5.3.1

          Hi,

          Unfortunately we are not seeing any performance improvements . We upgraded to 1.5.3.1 version of plugin and set the System property using the groovy script console.
          Core: 1.642.1

          https://JENKINS_URL/script
          System.setProperty('au.com.centurmsystems.hudson.plugin.util.BuildUtil.MAX_DOWNSTREAM_DEPTH', '3')

          It takes 10+ mins to initialize the Build Pipe line page.

          Here is the few threadDumps taken during various stages…until the build-pipe-line view finally rendered. Let me know if you need more logging...

          Snapshot 1:

          "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-114 View/index.jelly" daemon prio=10 tid=0x00007f3790168000 nid=0x507c runnable [0x00007f376fcb8000]
             java.lang.Thread.State: RUNNABLE
          	at java.util.AbstractList$Itr.hasNext(AbstractList.java:351)
          	at java.util.AbstractCollection.toArray(AbstractCollection.java:139)
          	at java.util.ArrayList.<init>(ArrayList.java:164)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:326)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63)
          	at java.util.AbstractMap$2$1.next(AbstractMap.java:385)
          	at hudson.util.Iterators$9.fetch(Iterators.java:383)
          	at hudson.util.Iterators$9.hasNext(Iterators.java:369)
          	at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114)
          	at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54)
          	at com.google.common.collect.Iterators$9.next(Iterators.java:969)
          	at com.google.common.collect.Lists.newArrayList(Lists.java:139)
          	at com.google.common.collect.Iterables.toCollection(Iterables.java:315)
          	at com.google.common.collect.Iterables.toArray(Iterables.java:293)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.hasPermission(BuildPipelineView.java:882)
          	at hudson.Functions.hasPermission(Functions.java:791)
          	at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:606)
          	at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
          	at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
          	at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
          	at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
          	at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
          	at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
          	at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
          	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61)
          	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsBoolean(ExpressionSupport.java:71)
          	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:97)
          	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:120)
          	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.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:120)
          	at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44)
          	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          	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.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
          	at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
          	at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201)
          	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)
          	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
          	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
          	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
          	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:67)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
          	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
          	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
          	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
          	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
          	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
          	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
          	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
          	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
          	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
          	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
          	- locked <0x00007f3b9d3d6710> (a org.apache.tomcat.util.net.SocketWrapper)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          	at java.lang.Thread.run(Thread.java:745)
          
             Locked ownable synchronizers:
          	- <0x00007f38c27bc5f0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
          
          

          Snapshot 2:

          "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-114 View/index.jelly View/sidepanel.jelly" daemon prio=10 tid=0x00007f3790168000 nid=0x507c runnable [0x00007f376fcb6000]
             java.lang.Thread.State: RUNNABLE
          	at java.util.Collections$SynchronizedMap.get(Collections.java:2037)
          	- locked <0x00007f38af1a2ca8> (a java.util.Collections$SynchronizedMap)
          	at com.thoughtworks.xstream.converters.basic.StringConverter.fromString(StringConverter.java:89)
          	at com.thoughtworks.xstream.converters.SingleValueConverterWrapper.fromString(SingleValueConverterWrapper.java:41)
          	at com.thoughtworks.xstream.converters.SingleValueConverterWrapper.unmarshal(SingleValueConverterWrapper.java:49)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
          	at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
          	at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85)
          	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)
          	at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
          	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
          	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189)
          	at hudson.util.XStream2.unmarshal(XStream2.java:113)
          	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173)
          	at hudson.XmlFile.unmarshal(XmlFile.java:163)
          	at hudson.model.Run.reload(Run.java:326)
          	at hudson.model.Run.<init>(Run.java:314)
          	at hudson.model.AbstractBuild.<init>(AbstractBuild.java:175)
          	at hudson.model.Build.<init>(Build.java:103)
          	at hudson.model.FreeStyleBuild.<init>(FreeStyleBuild.java:38)
          	at sun.reflect.GeneratedConstructorAccessor939.newInstance(Unknown Source)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
          	at jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:156)
          	at jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:133)
          	at hudson.model.RunMap.retrieve(RunMap.java:223)
          	at hudson.model.RunMap.retrieve(RunMap.java:56)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465)
          	- locked <0x00007f38a8966830> (a hudson.model.RunMap)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63)
          	at java.util.AbstractMap$2$1.next(AbstractMap.java:385)
          	at hudson.util.Iterators$9.fetch(Iterators.java:383)
          	at hudson.util.Iterators$9.hasNext(Iterators.java:369)
          	at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114)
          	at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54)
          	at com.google.common.collect.Iterators$9.next(Iterators.java:969)
          	at com.google.common.collect.Lists.newArrayList(Lists.java:139)
          	at com.google.common.collect.Iterables.toCollection(Iterables.java:315)
          	at com.google.common.collect.Iterables.toArray(Iterables.java:293)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814)
          	at hudson.model.View.getComputers(View.java:434)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:606)
          	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
          	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
          	at groovy.lang.MetaClassImpl$GetBeanMethodMetaProperty.getProperty(MetaClassImpl.java:3500)
          	at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:61)
          	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227)
          	at jenkins.widgets.ExecutorsWidget.index.run(index.groovy:5)
          	at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74)
          	at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62)
          	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.impl.ScriptBlock.run(ScriptBlock.java:95)
          	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.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
          	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.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
          	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
          	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: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.impl.ScriptBlock.run(ScriptBlock.java:95)
          	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
          	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.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.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:120)
          	at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44)
          	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          	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.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
          	at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
          	at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201)
          	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)
          	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
          	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
          	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
          	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:67)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
          	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
          	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
          	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
          	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
          	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
          	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
          	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
          	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
          	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
          	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
          	- locked <0x00007f3b9cbcc690> (a org.apache.tomcat.util.net.SocketWrapper)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          	at java.lang.Thread.run(Thread.java:745)
          
             Locked ownable synchronizers:
          	- <0x00007f38c27bc5f0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
          

          Dilip Mahadevappa added a comment - Hi, Unfortunately we are not seeing any performance improvements . We upgraded to 1.5.3.1 version of plugin and set the System property using the groovy script console. Core: 1.642.1 https://JENKINS_URL/script System.setProperty('au.com.centurmsystems.hudson.plugin.util.BuildUtil.MAX_DOWNSTREAM_DEPTH', '3') It takes 10+ mins to initialize the Build Pipe line page. Here is the few threadDumps taken during various stages…until the build-pipe-line view finally rendered. Let me know if you need more logging... Snapshot 1: "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-114 View/index.jelly" daemon prio=10 tid=0x00007f3790168000 nid=0x507c runnable [0x00007f376fcb8000] java.lang.Thread.State: RUNNABLE at java.util.AbstractList$Itr.hasNext(AbstractList.java:351) at java.util.AbstractCollection.toArray(AbstractCollection.java:139) at java.util.ArrayList.<init>(ArrayList.java:164) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:326) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.Iterators$9.fetch(Iterators.java:383) at hudson.util.Iterators$9.hasNext(Iterators.java:369) at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80) at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114) at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54) at com.google.common.collect.Iterators$9.next(Iterators.java:969) at com.google.common.collect.Lists.newArrayList(Lists.java:139) at com.google.common.collect.Iterables.toCollection(Iterables.java:315) at com.google.common.collect.Iterables.toArray(Iterables.java:293) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.hasPermission(BuildPipelineView.java:882) at hudson.Functions.hasPermission(Functions.java:791) at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsBoolean(ExpressionSupport.java:71) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:97) 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:120) 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.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:120) at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) 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.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) - locked <0x00007f3b9d3d6710> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - <0x00007f38c27bc5f0> (a java.util.concurrent.ThreadPoolExecutor$Worker) Snapshot 2: "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-114 View/index.jelly View/sidepanel.jelly" daemon prio=10 tid=0x00007f3790168000 nid=0x507c runnable [0x00007f376fcb6000] java.lang.Thread.State: RUNNABLE at java.util.Collections$SynchronizedMap.get(Collections.java:2037) - locked <0x00007f38af1a2ca8> (a java.util.Collections$SynchronizedMap) at com.thoughtworks.xstream.converters.basic.StringConverter.fromString(StringConverter.java:89) at com.thoughtworks.xstream.converters.SingleValueConverterWrapper.fromString(SingleValueConverterWrapper.java:41) at com.thoughtworks.xstream.converters.SingleValueConverterWrapper.unmarshal(SingleValueConverterWrapper.java:49) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85) at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80) at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189) at hudson.util.XStream2.unmarshal(XStream2.java:113) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173) at hudson.XmlFile.unmarshal(XmlFile.java:163) at hudson.model.Run.reload(Run.java:326) at hudson.model.Run.<init>(Run.java:314) at hudson.model.AbstractBuild.<init>(AbstractBuild.java:175) at hudson.model.Build.<init>(Build.java:103) at hudson.model.FreeStyleBuild.<init>(FreeStyleBuild.java:38) at sun.reflect.GeneratedConstructorAccessor939.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:156) at jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:133) at hudson.model.RunMap.retrieve(RunMap.java:223) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465) - locked <0x00007f38a8966830> (a hudson.model.RunMap) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448) at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.Iterators$9.fetch(Iterators.java:383) at hudson.util.Iterators$9.hasNext(Iterators.java:369) at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80) at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114) at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54) at com.google.common.collect.Iterators$9.next(Iterators.java:969) at com.google.common.collect.Lists.newArrayList(Lists.java:139) at com.google.common.collect.Iterables.toCollection(Iterables.java:315) at com.google.common.collect.Iterables.toArray(Iterables.java:293) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814) at hudson.model.View.getComputers(View.java:434) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at groovy.lang.MetaClassImpl$GetBeanMethodMetaProperty.getProperty(MetaClassImpl.java:3500) at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:61) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227) at jenkins.widgets.ExecutorsWidget.index.run(index.groovy:5) at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:74) at org.kohsuke.stapler.jelly.groovy.GroovierJellyScript.run(GroovierJellyScript.java:62) 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.impl.ScriptBlock.run(ScriptBlock.java:95) 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.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) 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.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) 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: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.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) 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.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.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:120) at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) 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.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:129) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) - locked <0x00007f3b9cbcc690> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - <0x00007f38c27bc5f0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

          Here is the threadump on multiple http requests for Build Pipe line view.

          Client #1: 142.133.110.108
          Cleint #2: 142.133.185.30

          "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-124 View/index.jelly View/sidepanel.jelly" daemon prio=10 tid=0x00007f379016f000 nid=0x6d90 waiting for monitor entry [0x00007f3778ec9000]
             java.lang.Thread.State: BLOCKED (on object monitor)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465)
          	- waiting to lock <0x00007f38a8dcac70> (a hudson.model.RunMap)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74)
          	.
          .
          .
          
          "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.185.30 : http-bio-8443-exec-97 View/index.jelly View/sidepanel.jelly NextExecutionsWidget/index.jelly" daemon prio=10 tid=0x00007f3784219000 nid=0x5e0d waiting for monitor entry [0x00007f37704be000]
             java.lang.Thread.State: BLOCKED (on object monitor)
          	at com.thoughtworks.xstream.core.DefaultConverterLookup.lookupConverterForType(DefaultConverterLookup.java:49)
          	- locked <0x00007f38a9c96380> (a com.thoughtworks.xstream.core.DefaultConverterLookup)
          	at com.thoughtworks.xstream.XStream$1.lookupConverterForType(XStream.java:498)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:56)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.converters.reflection.SerializableConverter$2.readFromStream(SerializableConverter.java:340)
          	at com.thoughtworks.xstream.core.util.CustomObjectInputStream.readObjectOverride(CustomObjectInputStream.java:120)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2403)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2386)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2418)
          	at java.util.TreeMap.buildFromSorted(TreeMap.java:2344)
          	at java.util.TreeMap.readObject(TreeMap.java:2290)
          	at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:606)
          	at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadObject(SerializationMethodInvoker.java:114)
          	at com.thoughtworks.xstream.converters.reflection.SerializableConverter.doUnmarshal(SerializableConverter.java:454)
          	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
          	at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85)
          	at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)
          	at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352)
          	at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290)
          	at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
          	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
          	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
          	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
          	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189)
          	at hudson.util.XStream2.unmarshal(XStream2.java:113)
          	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173)
          	at hudson.XmlFile.unmarshal(XmlFile.java:163)
          	at hudson.model.Run.reload(Run.java:326)
          	at hudson.model.Run.<init>(Run.java:314)
          	at hudson.model.AbstractBuild.<init>(AbstractBuild.java:175)
          	at hudson.model.Build.<init>(Build.java:103)
          	at hudson.model.FreeStyleBuild.<init>(FreeStyleBuild.java:38)
          	at sun.reflect.GeneratedConstructorAccessor877.newInstance(Unknown Source)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
          	at jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:156)
          	at jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:133)
          	at hudson.model.RunMap.retrieve(RunMap.java:223)
          	at hudson.model.RunMap.retrieve(RunMap.java:56)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465)
          	- locked <0x00007f38a8dcac70> (a hudson.model.RunMap)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356)
          	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74)
          	at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63)
          	at java.util.AbstractMap$2$1.next(AbstractMap.java:385)
          	at hudson.util.Iterators$9.fetch(Iterators.java:383)
          	at hudson.util.Iterators$9.hasNext(Iterators.java:369)
          	at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114)
          	at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54)
          	at com.google.common.collect.Iterators$9.next(Iterators.java:969)
          	at com.google.common.collect.Lists.newArrayList(Lists.java:139)
          	at com.google.common.collect.Iterables.toCollection(Iterables.java:315)
          	at com.google.common.collect.Iterables.toArray(Iterables.java:293)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360)
          	at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814)
          	at hudson.plugins.nextexecutions.NextExecutionsWidget.getBuilds(NextExecutionsWidget.java:58)
          	at sun.reflect.GeneratedMethodAccessor629.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:606)
          	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.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
          	at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
          	at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
          	at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
          	at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
          	at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
          	at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
          	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61)
          	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsIterator(ExpressionSupport.java:94)
          	at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:89)
          	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
          	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.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          	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.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          	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.impl.ScriptBlock.run(ScriptBlock.java:95)
          	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          	
          
          
          

          Dilip Mahadevappa added a comment - Here is the threadump on multiple http requests for Build Pipe line view. Client #1: 142.133.110.108 Cleint #2 : 142.133.185.30 "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.110.108 : http-bio-8443-exec-124 View/index.jelly View/sidepanel.jelly" daemon prio=10 tid=0x00007f379016f000 nid=0x6d90 waiting for monitor entry [0x00007f3778ec9000] java.lang.Thread.State: BLOCKED (on object monitor) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465) - waiting to lock <0x00007f38a8dcac70> (a hudson.model.RunMap) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448) at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74) . . . "Handling GET /jenkins/view/RadioSW/view/40%C2%B0%20Wash%20Pipeline/ from 142.133.185.30 : http-bio-8443-exec-97 View/index.jelly View/sidepanel.jelly NextExecutionsWidget/index.jelly" daemon prio=10 tid=0x00007f3784219000 nid=0x5e0d waiting for monitor entry [0x00007f37704be000] java.lang.Thread.State: BLOCKED (on object monitor) at com.thoughtworks.xstream.core.DefaultConverterLookup.lookupConverterForType(DefaultConverterLookup.java:49) - locked <0x00007f38a9c96380> (a com.thoughtworks.xstream.core.DefaultConverterLookup) at com.thoughtworks.xstream.XStream$1.lookupConverterForType(XStream.java:498) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:56) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.converters.reflection.SerializableConverter$2.readFromStream(SerializableConverter.java:340) at com.thoughtworks.xstream.core.util.CustomObjectInputStream.readObjectOverride(CustomObjectInputStream.java:120) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364) at java.util.TreeMap.buildFromSorted(TreeMap.java:2403) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2386) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2418) at java.util.TreeMap.buildFromSorted(TreeMap.java:2344) at java.util.TreeMap.readObject(TreeMap.java:2290) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.thoughtworks.xstream.converters.reflection.SerializationMethodInvoker.callReadObject(SerializationMethodInvoker.java:114) at com.thoughtworks.xstream.converters.reflection.SerializableConverter.doUnmarshal(SerializableConverter.java:454) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71) at hudson.util.RobustCollectionConverter.populateCollection(RobustCollectionConverter.java:85) at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80) at hudson.util.RobustCollectionConverter.unmarshal(RobustCollectionConverter.java:76) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:352) at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:290) at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:229) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189) at hudson.util.XStream2.unmarshal(XStream2.java:113) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173) at hudson.XmlFile.unmarshal(XmlFile.java:163) at hudson.model.Run.reload(Run.java:326) at hudson.model.Run.<init>(Run.java:314) at hudson.model.AbstractBuild.<init>(AbstractBuild.java:175) at hudson.model.Build.<init>(Build.java:103) at hudson.model.FreeStyleBuild.<init>(FreeStyleBuild.java:38) at sun.reflect.GeneratedConstructorAccessor877.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:156) at jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:133) at hudson.model.RunMap.retrieve(RunMap.java:223) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465) - locked <0x00007f38a8dcac70> (a hudson.model.RunMap) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448) at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:74) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.Iterators$9.fetch(Iterators.java:383) at hudson.util.Iterators$9.hasNext(Iterators.java:369) at au.com.centrumsystems.hudson.plugin.util.BuildUtil.getDownstreamBuild(BuildUtil.java:80) at au.com.centrumsystems.hudson.plugin.buildpipeline.PipelineBuild.getDownstreamPipeline(PipelineBuild.java:189) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:90) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:93) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildForm.<init>(BuildForm.java:74) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:117) at au.com.centrumsystems.hudson.plugin.buildpipeline.DownstreamProjectGridBuilder$GridImpl$1$1.adapt(DownstreamProjectGridBuilder.java:114) at hudson.util.AdaptedIterator.next(AdaptedIterator.java:54) at com.google.common.collect.Iterators$9.next(Iterators.java:969) at com.google.common.collect.Lists.newArrayList(Lists.java:139) at com.google.common.collect.Iterables.toCollection(Iterables.java:315) at com.google.common.collect.Iterables.toArray(Iterables.java:293) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineForm.<init>(BuildPipelineForm.java:40) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getBuildPipelineForm(BuildPipelineView.java:360) at au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView.getItems(BuildPipelineView.java:814) at hudson.plugins.nextexecutions.NextExecutionsWidget.getBuilds(NextExecutionsWidget.java:58) at sun.reflect.GeneratedMethodAccessor629.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) 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.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185) at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsIterator(ExpressionSupport.java:94) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:89) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99) 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.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) 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.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) 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.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)

          Hi,

          Any news or workaround for this please?

          Thanks!
          Dilip Mahadevappa

          Dilip Mahadevappa added a comment - Hi, Any news or workaround for this please? Thanks! Dilip Mahadevappa

          dilipm79 How many builds are currently in your pipeline view, and how many pipelines are you currently displaying? A large part of the performance issue also revolves around the number of pipeline runs that are being displayed.

          Steven Christou added a comment - dilipm79 How many builds are currently in your pipeline view, and how many pipelines are you currently displaying? A large part of the performance issue also revolves around the number of pipeline runs that are being displayed.

          J F added a comment -

          There are ~280 builds, and 50 pipelines, with varying numbers of build jobs each.

          (Answering on behalf of Dilip)

          J F added a comment - There are ~280 builds, and 50 pipelines, with varying numbers of build jobs each. (Answering on behalf of Dilip)

          Audrey Azra added a comment -

          Steven Christou: Any news or workaround on this issue?

          Audrey Azra added a comment - Steven Christou: Any news or workaround on this issue?

          Hi, a bit more information here with regards to the pipeline we are having issues with.

          Total number of potential jobs for the pipeline is 17... however, each one of those jobs has a range of build history in the thousands (some 8-9K, some 5K and others have 1-2K).

          The pipeline is configured to only show the last 100 builds, however, will Jenkins still attempt to load all of the build history for each of the jobs involved in the pipeline?

          For instance, what we observe with a standard job is that Jenkins will take a significant amount of time to load a job page if there are 8000 builds in the build history versus 100-200. Even though Jenkins won't display all of the build history, it still seems to load all of them into memory.

          Does the pipeline job loading/rendering do a similar style of data fetch for each job in the pipeline?

          Thanks,
          Andy Buckles

          Andrew Buckles added a comment - Hi, a bit more information here with regards to the pipeline we are having issues with. Total number of potential jobs for the pipeline is 17... however, each one of those jobs has a range of build history in the thousands (some 8-9K, some 5K and others have 1-2K). The pipeline is configured to only show the last 100 builds, however, will Jenkins still attempt to load all of the build history for each of the jobs involved in the pipeline? For instance, what we observe with a standard job is that Jenkins will take a significant amount of time to load a job page if there are 8000 builds in the build history versus 100-200. Even though Jenkins won't display all of the build history, it still seems to load all of them into memory. Does the pipeline job loading/rendering do a similar style of data fetch for each job in the pipeline? Thanks, Andy Buckles

          Sean McIntyre added a comment -

          Hi there,

          I wanted to chime in and let everyone know we are having a similar issue with our Jenkins setup using the Pipeline plug-in. Each page load in Jenkins was approaching 11s, which is unacceptable for our CI pipeline and causing friction on our team.

          I found that this was the issue by sampling the Java stack every second during a GET request, here are the results in a gist. I saw the common denominator of each sample was the BuildUtil.getDownstreamBuild, and found this ticket.

          We have 7 pipelines in our installation, each having about 6 jobs, and most of those jobs having 1-3K builds in their histories. I purged the histories of these pipelines, reducing their histories to about 300 each (total 60K -> 17K), and Jenkins pageloads are now 2s. I had to do a Jenkins restart after the purges.

          We are running Build Pipeline Plugin 1.5.4 and Jenkins 2.30.

          Thanks!

          Sean McIntyre added a comment - Hi there, I wanted to chime in and let everyone know we are having a similar issue with our Jenkins setup using the Pipeline plug-in. Each page load in Jenkins was approaching 11s, which is unacceptable for our CI pipeline and causing friction on our team. I found that this was the issue by sampling the Java stack every second during a GET request, here are the results in a gist . I saw the common denominator of each sample was the BuildUtil.getDownstreamBuild , and found this ticket. We have 7 pipelines in our installation, each having about 6 jobs, and most of those jobs having 1-3K builds in their histories. I purged the histories of these pipelines, reducing their histories to about 300 each (total 60K -> 17K), and Jenkins pageloads are now 2s. I had to do a Jenkins restart after the purges. We are running Build Pipeline Plugin 1.5.4 and Jenkins 2.30. Thanks!

          Dan Alvizu added a comment -

          Fixed in 1.5.6

          Dan Alvizu added a comment - Fixed in 1.5.6

          Dan Alvizu added a comment -

          Dan Alvizu added a comment - 1.5.6 included this fix: https://github.com/jenkinsci/build-pipeline-plugin/pull/88

          Sean McIntyre added a comment -

          Great, dalvizu. Our Jenkins page load times fell from 2s to 20ms with the upgrade to 1.5.6.

          Sean McIntyre added a comment - Great, dalvizu . Our Jenkins page load times fell from 2s to 20ms with the upgrade to 1.5.6.

          Dan Alvizu added a comment -

          good to hear, all credit to jpederzolli

          Dan Alvizu added a comment - good to hear, all credit to jpederzolli

            schristou Steven Christou
            ganthore Mark Austin
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: