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

Pipelines failing when no Cause of Blockage found

    XMLWordPrintable

    Details

    • Epic Link:
    • Sprint:
      Blue Ocean 1.4 - beta 5
    • Similar Issues:

      Description

      Hi,

      We have a number of Blue Ocean Pipelines that hang intermittently. Usually they work after a restart with no change. We have discovered a familiar NPE and Stack trace on the Jenkins master that corresponds with this hang condition. See the Stack trace below.

      It appears that PipeLineNodeUtils.getCauseOfBlockage makes a call to Queue.Item.getCauseOfBlockage(). As below.

      Queue.Item item = QueueItemAction.getQueueItem(nodeBlock);
      if (item != null) {
         String cause = item.getCauseOfBlockage().getShortDescription();
      

       If Queue.Item.getCauseOfBlockage() returns an object then all is well. However this method does not always return a valid object and may return a null.

       

      The obvious fix is to null protect the call to getShortDescription(). I will create a PR with a version of this fix for approval. 

      PipeLineNodeUtils does not appear to have its own unit tests so I've been unable to create a specific test case that forces the error. The PR would benefit with a test case. Unless you are happy with a fix that just resolved an obvious null protection added.

      java.lang.reflect.InvocationTargetException
      
      at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:347)
      
      at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
      
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
      
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
      
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
      
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
      
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
      
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      
      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:790)
      
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
      
      at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225)
      
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      
      at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
      
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      
      at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:51)
      
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at org.jenkinsci.plugins.reverse_proxy_auth.ReverseProxySecurityRealm$1.doFilter(ReverseProxySecurityRealm.java:514)
      
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
      
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
      
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
      
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
      
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
      
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
      
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
      
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      
      at org.eclipse.jetty.server.Server.handle(Server.java:564)
      
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
      
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
      
      at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
      
      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
      
      at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
      
      at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
      
      at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
      
      at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
      
      at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)
      
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      
      at java.lang.Thread.run(Thread.java:748)
      
      Caused by: java.lang.NullPointerException
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeUtil.getCauseOfBlockage(PipelineNodeUtil.java:154)
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.handleChunkDone(PipelineNodeGraphVisitor.java:209)
      
      at org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor.chunkStart(StandardChunkVisitor.java:40)
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.chunkStart(PipelineNodeGraphVisitor.java:95)
      
      at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.fireVisitChunkCallbacks(ForkScanner.java:742)
      
      at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:769)
      
      at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:633)
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.<init>(PipelineNodeGraphVisitor.java:89)
      
      at io.jenkins.blueocean.rest.impl.pipeline.NodeGraphBuilder$NodeGraphBuilderFactory.getInstance(NodeGraphBuilder.java:39)
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeContainerImpl.<init>(PipelineNodeContainerImpl.java:32)
      
      at io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl.getNodes(PipelineRunImpl.java:187)
      
      at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
      
      at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
      
      ... 100 more
      

        Attachments

          Activity

          Hide
          michaelneale Michael Neale added a comment -

          Fergal Dearle - can you confirm what version of blue ocean? 

           

          From looking at git blame: https://github.com/jenkinsci/blueocean-plugin/blame/master/blueocean-pipeline-api-impl/src/main/java/io/jenkins/blueocean/rest/impl/pipeline/PipelineNodeUtil.java#L155 that has been around for a while - odd that only picked up until now that it could be null... 

          A PR would be MUCH appreciated (if coudl unit test, extra bonus- it would be covered by other e2e or integration tests at least, but not that specific case, not sure you know how to make that null?)

           

          cc Ivan Meredith Vivek Pandey this is probably a nice one to be defensive about

          Show
          michaelneale Michael Neale added a comment - Fergal Dearle - can you confirm what version of blue ocean?    From looking at git blame: https://github.com/jenkinsci/blueocean-plugin/blame/master/blueocean-pipeline-api-impl/src/main/java/io/jenkins/blueocean/rest/impl/pipeline/PipelineNodeUtil.java#L155  that has been around for a while - odd that only picked up until now that it could be null...  A PR would be MUCH appreciated (if coudl unit test, extra bonus- it would be covered by other e2e or integration tests at least, but not that specific case, not sure you know how to make that null?)   cc Ivan Meredith Vivek Pandey this is probably a nice one to be defensive about
          Hide
          fdearle Fergal Dearle added a comment -

          Michael Neale - The version we are using is 1.3.0. 

          I've created the PR here https://github.com/jenkinsci/blueocean-plugin/pull/1628

          Prior to committing I ran the tests in blueocean-pipeline-api-impl and they all passed. I see now that my PR has some failing checks. They both seem to be timeouts in areas unrelated to my change. What  this tells me is that I don't really have sufficient knowledge to give you a solid PR. You are also right in your comment that I would not know how to setup a test that forces that value to be null.

           

          Its probably best therefore if you just consider my PR as being informational. You guys who know the code base will be able to produce a better fix than me with more sensible testing.

          Show
          fdearle Fergal Dearle added a comment - Michael Neale - The version we are using is 1.3.0.  I've created the PR here https://github.com/jenkinsci/blueocean-plugin/pull/1628 Prior to committing I ran the tests in blueocean-pipeline-api-impl and they all passed. I see now that my PR has some failing checks. They both seem to be timeouts in areas unrelated to my change. What  this tells me is that I don't really have sufficient knowledge to give you a solid PR. You are also right in your comment that I would not know how to setup a test that forces that value to be null.   Its probably best therefore if you just consider my PR as being informational. You guys who know the code base will be able to produce a better fix than me with more sensible testing.
          Hide
          michaelneale Michael Neale added a comment -

          Fergal Dearle it may be ok - those look like one off failures probably not related. Hopefully Ivan Meredith can take a look next week and we can get this in. 

          Show
          michaelneale Michael Neale added a comment - Fergal Dearle it may be ok - those look like one off failures probably not related. Hopefully Ivan Meredith can take a look next week and we can get this in. 
          Hide
          imeredith Ivan Meredith added a comment -

          Fergal Dearle Michael Neale I'm working on unit testing that PR, I dont think an ATH test on this PR will help. I added JENKINS-49072 to track this issue

          Show
          imeredith Ivan Meredith added a comment - Fergal Dearle Michael Neale I'm working on unit testing that PR, I dont think an ATH test on this PR will help. I added  JENKINS-49072  to track this issue
          Hide
          michaelneale Michael Neale added a comment -

          yes I have no idea in what context that cause could be null - given that code has been shaped like that for a long time, it can't be a common event and thus probably near impossible to test with ATH 

          Show
          michaelneale Michael Neale added a comment - yes I have no idea in what context that cause could be null - given that code has been shaped like that for a long time, it can't be a common event and thus probably near impossible to test with ATH 
          Hide
          reinholdfuereder Reinhold Füreder added a comment - - edited

          Sorry for commenting on this semi-old issue that was only now released (and that I am NOT yet using): I have also found very similar NPE stacktraces in the Jenkins log – however the first one ONLY yesterday, 26.02.2018 – AND except that the line number differs slightly (155 instead of 154) which I find very confusing considering the issues age and the history of PipelineNodeUtil (https://github.com/jenkinsci/blueocean-plugin/commits/master/blueocean-pipeline-api-impl/src/main/java/io/jenkins/blueocean/rest/impl/pipeline/PipelineNodeUtil.java)

          2018-02-26 08:45:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2009
          2018-02-26 08:45:15 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.Pipel
          ineRunImpl
          java.lang.reflect.InvocationTargetException
                  at io.jenkins.blueocean.commons.stapler.export.MethodProperty.getValue(MethodProperty.java:74)
                  at io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:46)
                  at io.jenkins.blueocean.commons.stapler.Export$BlueOceanExportInterceptor.getValue(Export.java:167)
                  at io.jenkins.blueocean.commons.stapler.export.Property.writeTo(Property.java:136)
                  at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:228)
                  at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:224)
                  at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:224)
                  at io.jenkins.blueocean.commons.stapler.export.Model.writeTo(Model.java:199)
                  at io.jenkins.blueocean.commons.stapler.Export.writeOne(Export.java:148)
                  at io.jenkins.blueocean.commons.stapler.Export.serveExposedBean(Export.java:139)
                  at io.jenkins.blueocean.commons.stapler.Export.doJson(Export.java:79)
                  at io.jenkins.blueocean.commons.stapler.TreeResponse$Processor$1.generateResponse(TreeResponse.java:48)
                  at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
                  at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
                  at org.kohsuke.stapler.Function.renderResponse(Function.java:136)
                  at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:119)
                  at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:26)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
                  at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
                  at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374)
                  at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
                  at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
                  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:790)
                  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                  at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
                  at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225)
                  at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
                  at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
                  at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
                  at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
                  at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
                  at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
                  at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
                  at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  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:90)
                  at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
                  at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
                  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
                  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
                  at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
                  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
                  at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
                  at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
                  at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
                  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
                  at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
                  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
                  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
                  at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
                  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
                  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
                  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
                  at org.eclipse.jetty.server.Server.handle(Server.java:564)
                  at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
                  at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
                  at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
                  at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
                  at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
                  at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                  at java.lang.Thread.run(Thread.java:748)
          Caused by: java.lang.NullPointerException
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeUtil.getCauseOfBlockage(PipelineNodeUtil.java:155)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.handleChunkDone(PipelineNodeGraphVisitor.java:220)
                  at org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor.chunkStart(StandardChunkVisitor.java:40)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.chunkStart(PipelineNodeGraphVisitor.java:106)
                  at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.fireVisitChunkCallbacks(ForkScanner.java:742)
                  at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:769)
                  at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:633)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.<init>(PipelineNodeGraphVisitor.java:92)
                  at io.jenkins.blueocean.rest.impl.pipeline.NodeGraphBuilder$NodeGraphBuilderFactory.getInstance(NodeGraphBuilder.java:39)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeContainerImpl.<init>(PipelineNodeContainerImpl.java:32)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl.getNodes(PipelineRunImpl.java:182)
                  at io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl.getStateObj(PipelineRunImpl.java:118)
                  at io.jenkins.blueocean.service.embedded.rest.AbstractRunImpl.getResult(AbstractRunImpl.java:148)
                  at io.jenkins.blueocean.commons.stapler.export.MethodProperty.getValue(MethodProperty.java:72)
                  ... 114 more
          

          And this happened a couple of times then:

          user@jenkins2:/var/log/jenkins$ cat jenkins.log* | grep -A 1 SEVERE
          2018-02-26 08:45:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2009
          2018-02-26 08:45:15 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:58 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME Shared Pipeline Library #219 completed: SUCCESS
          --
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:58:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2013
          2018-02-27 08:58:58 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:17:14 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015
          2018-02-27 09:17:14 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015
          2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015
          2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "state" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015
          2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "testSummary" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          

          My recent Jenkins core and plugin update history:

          15.02.2018 ~10:00-11:00 Updates
          Jenkins core 2.105 => 2.107
          ---> Plugins installed:
                  script-security:1.41
                  structs:1.14
                  workflow-cps:2.45
                  docker-workflow:1.15.1
                  blueocean:1.4.1
                  blueocean-pipeline-editor:1.4.1
          ...
          2018-02-15 11:42:03 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run Sandbox/Pipeline-KPI#243
          // happened more often
          ...
          20.02.2018 ~10:30-12:15 Updates
          Jenkins core 2.107 => 2.108
          ---> Plugins installed:
                  durable-task:1.18
                  workflow-durable-task-step:2.19
                  ldap:1.20
                  blueocean:1.4.2
                  blueocean-pipeline-editor:1.4.2
          

          And because it also related to io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor:

          user@jenkins2:/var/log/jenkins$ cat jenkins.log* | grep -A 2 -B 1 "Could not find"
          2018-02-23 13:41:26 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #1999 completed: UNSTABLE
          2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2000
          2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2000
          2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2000
          2018-02-23 14:04:30 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #2000 completed: UNSTABLE
          2018-02-23 14:08:52 INFO [org.eclipse.jetty.server.session.Session beginInvalidate]   Session node0q6mhb4ufcaekeufde6k9a5o539 already being invalidated
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2001
          2018-02-23 14:11:54 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #2001 completed: SUCCESS
          2018-02-23 14:24:38 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #2002 completed: SUCCESS
          --
          2018-02-27 08:24:07 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   Unattended-Upgrades/Apt Low-High #170 completed: SUCCESS
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2012
          2018-02-27 08:48:58 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME Shared Pipeline Library #219 completed: SUCCESS
          2018-02-27 08:51:35 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #2012 completed: SUCCESS
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2013
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2014
          2018-02-27 08:58:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2013
          2018-02-27 08:58:58 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          --
          2018-02-27 09:12:31 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish]   ACME-Pipeline #2013 completed: SUCCESS
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Could not find execution for run ACME-Pipeline#2015
          2018-02-27 09:17:14 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>]   Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015
          2018-02-27 09:17:14 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue]   Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl
          

          Should that be all have the same cause and be fixed now (after updating Blue Ocean to 1.5)?

          I forgot to mention that AFAIK in our case this is "only" log spam and not leading to "failing pipelines" (as this issue's title says).

          Show
          reinholdfuereder Reinhold Füreder added a comment - - edited Sorry for commenting on this semi-old issue that was only now released (and that I am NOT yet using): I have also found very similar NPE stacktraces in the Jenkins log – however the first one ONLY yesterday, 26.02.2018 – AND except that the line number differs slightly (155 instead of 154) which I find very confusing considering the issues age and the history of PipelineNodeUtil ( https://github.com/jenkinsci/blueocean-plugin/commits/master/blueocean-pipeline-api-impl/src/main/java/io/jenkins/blueocean/rest/impl/pipeline/PipelineNodeUtil.java ) 2018-02-26 08:45:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2009 2018-02-26 08:45:15 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.Pipel ineRunImpl java.lang.reflect.InvocationTargetException at io.jenkins.blueocean.commons.stapler.export.MethodProperty.getValue(MethodProperty.java:74) at io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:46) at io.jenkins.blueocean.commons.stapler.Export$BlueOceanExportInterceptor.getValue(Export.java:167) at io.jenkins.blueocean.commons.stapler.export.Property.writeTo(Property.java:136) at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:228) at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:224) at io.jenkins.blueocean.commons.stapler.export.Model.writeNestedObjectTo(Model.java:224) at io.jenkins.blueocean.commons.stapler.export.Model.writeTo(Model.java:199) at io.jenkins.blueocean.commons.stapler.Export.writeOne(Export.java:148) at io.jenkins.blueocean.commons.stapler.Export.serveExposedBean(Export.java:139) at io.jenkins.blueocean.commons.stapler.Export.doJson(Export.java:79) at io.jenkins.blueocean.commons.stapler.TreeResponse$Processor$1.generateResponse(TreeResponse.java:48) at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124) at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69) at org.kohsuke.stapler.Function.renderResponse(Function.java:136) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:119) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:26) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:686) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:374) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) 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:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 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:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:564) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeUtil.getCauseOfBlockage(PipelineNodeUtil.java:155) at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.handleChunkDone(PipelineNodeGraphVisitor.java:220) at org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor.chunkStart(StandardChunkVisitor.java:40) at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.chunkStart(PipelineNodeGraphVisitor.java:106) at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.fireVisitChunkCallbacks(ForkScanner.java:742) at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:769) at org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner.visitSimpleChunks(ForkScanner.java:633) at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor.<init>(PipelineNodeGraphVisitor.java:92) at io.jenkins.blueocean.rest.impl.pipeline.NodeGraphBuilder$NodeGraphBuilderFactory.getInstance(NodeGraphBuilder.java:39) at io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeContainerImpl.<init>(PipelineNodeContainerImpl.java:32) at io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl.getNodes(PipelineRunImpl.java:182) at io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl.getStateObj(PipelineRunImpl.java:118) at io.jenkins.blueocean.service.embedded.rest.AbstractRunImpl.getResult(AbstractRunImpl.java:148) at io.jenkins.blueocean.commons.stapler.export.MethodProperty.getValue(MethodProperty.java:72) ... 114 more And this happened a couple of times then: user@jenkins2:/var/log/jenkins$ cat jenkins.log* | grep -A 1 SEVERE 2018-02-26 08:45:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2009 2018-02-26 08:45:15 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:58 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME Shared Pipeline Library #219 completed: SUCCESS -- 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:58:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2013 2018-02-27 08:58:58 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:17:14 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015 2018-02-27 09:17:14 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015 2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015 2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "state" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 09:18:55 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015 2018-02-27 09:18:55 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "testSummary" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl My recent Jenkins core and plugin update history: 15.02.2018 ~10:00-11:00 Updates Jenkins core 2.105 => 2.107 ---> Plugins installed: script-security:1.41 structs:1.14 workflow-cps:2.45 docker-workflow:1.15.1 blueocean:1.4.1 blueocean-pipeline-editor:1.4.1 ... 2018-02-15 11:42:03 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run Sandbox/Pipeline-KPI#243 // happened more often ... 20.02.2018 ~10:30-12:15 Updates Jenkins core 2.107 => 2.108 ---> Plugins installed: durable-task:1.18 workflow-durable-task-step:2.19 ldap:1.20 blueocean:1.4.2 blueocean-pipeline-editor:1.4.2 And because it also related to io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor : user@jenkins2:/var/log/jenkins$ cat jenkins.log* | grep -A 2 -B 1 "Could not find" 2018-02-23 13:41:26 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #1999 completed: UNSTABLE 2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2000 2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2000 2018-02-23 14:01:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2000 2018-02-23 14:04:30 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #2000 completed: UNSTABLE 2018-02-23 14:08:52 INFO [org.eclipse.jetty.server.session.Session beginInvalidate] Session node0q6mhb4ufcaekeufde6k9a5o539 already being invalidated 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:09:07 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2001 2018-02-23 14:11:54 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #2001 completed: SUCCESS 2018-02-23 14:24:38 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #2002 completed: SUCCESS -- 2018-02-27 08:24:07 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] Unattended-Upgrades/Apt Low-High #170 completed: SUCCESS 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:38 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2012 2018-02-27 08:48:58 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME Shared Pipeline Library #219 completed: SUCCESS 2018-02-27 08:51:35 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #2012 completed: SUCCESS 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:56:40 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2013 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:57:15 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2014 2018-02-27 08:58:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2013 2018-02-27 08:58:58 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl -- 2018-02-27 09:12:31 INFO [org.jenkinsci.plugins.workflow.job.WorkflowRun finish] ACME-Pipeline #2013 completed: SUCCESS 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:15:58 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Could not find execution for run ACME-Pipeline#2015 2018-02-27 09:17:14 SEVERE [io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeGraphVisitor <init>] Caught a NullPointerException traversing the graph for run ACME-Pipeline#2015 2018-02-27 09:17:14 WARNING [io.jenkins.blueocean.commons.stapler.export.ExportInterceptor$1 getValue] Failed to get "result" from a io.jenkins.blueocean.rest.impl.pipeline.PipelineRunImpl Should that be all have the same cause and be fixed now (after updating Blue Ocean to 1.5)? I forgot to mention that AFAIK in our case this is "only" log spam and not leading to "failing pipelines" (as this issue's title says).

            People

            • Assignee:
              imeredith Ivan Meredith
              Reporter:
              fdearle Fergal Dearle
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: