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

Clover plugin still has problems with pipeline builds

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      After noting in JENKINS-27302 that version 4.6.0 of the clover plugin supports pipeline builds, I tried setting it up on a test job using a custom step as documented:

          step([$class: 'CloverPublisher', cloverReportDir: 'build/tests/coverage', cloverReportFileName: 'clover.xml'])
      

      This appears to work and puts a clover test result section in the results for an individual build, but after 2 builds it still doesn't display a coverage graph in the main Status page for the job.

      I tried restarting Jenkins, and got the following stack trace:

      WARNING: failed to load hudson.plugins.clover.CloverBuildAction@33885e1d from /var/lib/jenkins/jobs/plonk/builds/13/build.xml
      java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowRun cannot be cast to hudson.model.AbstractBuild
      	at hudson.plugins.clover.CloverBuildAction.onLoad(CloverBuildAction.java:156)
      	at hudson.model.Run.onLoad(Run.java:346)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.onLoad(WorkflowRun.java:462)
      	at hudson.model.RunMap.retrieve(RunMap.java:224)
      	at hudson.model.RunMap.retrieve(RunMap.java:56)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:479)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:461)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:367)
      	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:332)
      	at jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild(LazyBuildMixIn.java:355)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.getPreviousBuild(WorkflowRun.java:178)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.getPreviousBuild(WorkflowRun.java:109)
      	at hudson.model.Job.getBuildStabilityHealthReport(Job.java:1169)
      	at hudson.model.Job.getBuildHealthReports(Job.java:1129)
      

      After this, clover stats don't display anywhere in the build, including the individual build status page. The only way I could fix the startup error is to delete all the build histories that had clover info in them.

      I'm not sure if the stack trace and failure to display the graph are actually the same problem.

        Attachments

          Activity

          toadnik17 Todd Perry created issue -
          jamesdumay James Dumay made changes -
          Field Original Value New Value
          Labels blueocean
          Hide
          neil_jarrett Neil Jarrett added a comment -

          I am also seeing that after a period of time (not sure how long) the stats disappear. On a build page it is showing:

          Clover Code Coverage - null% method null, conditional null, statement null.
          

          Also, clicking on the Clover Summary Report gives the following stack trace error:

          com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
          	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
          	at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
          	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
          	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
          	at hudson.plugins.clover.CloverBuildAction.getResult(CloverBuildAction.java:162)
          	at hudson.plugins.clover.CloverBuildAction.getTarget(CloverBuildAction.java:111)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:674)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	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:790)
          	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
          	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
          	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
          	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
          	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
          	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
          	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
          	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
          	at org.eclipse.jetty.server.Server.handle(Server.java:499)
          	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
          	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
          	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
          	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	at java.lang.Thread.run(Thread.java:745)
          Caused by: java.lang.NullPointerException
          	at hudson.plugins.clover.CloverPublisher.getCloverXmlReport(CloverPublisher.java:131)
          	at hudson.plugins.clover.CloverBuildAction.computeResult(CloverBuildAction.java:170)
          	at hudson.plugins.clover.CloverBuildAction.access$000(CloverBuildAction.java:38)
          	at hudson.plugins.clover.CloverBuildAction$1.load(CloverBuildAction.java:49)
          	at hudson.plugins.clover.CloverBuildAction$1.load(CloverBuildAction.java:47)
          	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
          	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
          	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
          	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
          	... 70 more
          
          Show
          neil_jarrett Neil Jarrett added a comment - I am also seeing that after a period of time (not sure how long) the stats disappear. On a build page it is showing: Clover Code Coverage - null% method null, conditional null, statement null. Also, clicking on the Clover Summary Report gives the following stack trace error: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829) at hudson.plugins.clover.CloverBuildAction.getResult(CloverBuildAction.java:162) at hudson.plugins.clover.CloverBuildAction.getTarget(CloverBuildAction.java:111) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:674) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 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:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) 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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at hudson.plugins.clover.CloverPublisher.getCloverXmlReport(CloverPublisher.java:131) at hudson.plugins.clover.CloverBuildAction.computeResult(CloverBuildAction.java:170) at hudson.plugins.clover.CloverBuildAction.access$000(CloverBuildAction.java:38) at hudson.plugins.clover.CloverBuildAction$1.load(CloverBuildAction.java:49) at hudson.plugins.clover.CloverBuildAction$1.load(CloverBuildAction.java:47) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) ... 70 more
          jamesdumay James Dumay made changes -
          Labels blueocean
          stephenconnolly Stephen Connolly made changes -
          Assignee stephenconnolly [ stephenconnolly ]
          rtyler R. Tyler Croy made changes -
          Workflow JNJira [ 170553 ] JNJira + In-Review [ 183954 ]
          Hide
          mrose Michael Rose added a comment - - edited

          I am seeing similar behaviour. The following error is in the console output:

          Originally I was seeing errors like this. When this was happening I would be able to access the Clover Summary Report but the Clover HTML Report was an empty page.

          IOException when checking workspace path:remote file operation failed: /JENKINS/WORKSPACE/PATH/FOR/PROJECT at hudson.remoting.Channel@7e2840c5:HOSTNAME: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@1359cfca

          Now, I am getting this error in the console output:

          java.lang.NullPointerException
          at hudson.FilePath.isAbsolute(FilePath.java:271)
          at hudson.FilePath.resolvePathIfRelative(FilePath.java:256)
          at hudson.FilePath.<init>(FilePath.java:252)
          at hudson.FilePath.child(FilePath.java:1267)
          at hudson.plugins.clover.CloverPublisher.performImpl(CloverPublisher.java:161)
          at hudson.plugins.clover.CloverPublisher.perform(CloverPublisher.java:152)
          at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:68)
          at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:49)
          at hudson.security.ACL.impersonate(ACL.java:213)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:47)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
          at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          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)

          And the Clover Summary report in all builds now navigate to the oops page.

          Show
          mrose Michael Rose added a comment - - edited I am seeing similar behaviour. The following error is in the console output: Originally I was seeing errors like this. When this was happening I would be able to access the Clover Summary Report but the Clover HTML Report was an empty page. IOException when checking workspace path:remote file operation failed: /JENKINS/WORKSPACE/PATH/FOR/PROJECT at hudson.remoting.Channel@7e2840c5:HOSTNAME: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@1359cfca Now, I am getting this error in the console output: java.lang.NullPointerException at hudson.FilePath.isAbsolute(FilePath.java:271) at hudson.FilePath.resolvePathIfRelative(FilePath.java:256) at hudson.FilePath.<init>(FilePath.java:252) at hudson.FilePath.child(FilePath.java:1267) at hudson.plugins.clover.CloverPublisher.performImpl(CloverPublisher.java:161) at hudson.plugins.clover.CloverPublisher.perform(CloverPublisher.java:152) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:68) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:49) at hudson.security.ACL.impersonate(ACL.java:213) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) 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) And the Clover Summary report in all builds now navigate to the oops page.
          Hide
          sweetchuck Andor Dávid added a comment - - edited

          Same problem here

          step([
            $class: 'CloverPublisher',
            cloverReportDir: 'tests/_output/coverage',
            cloverReportFileName: 'coverage.xml'
          ])
          
          [Pipeline] step
          Publishing Clover coverage report...
          Publishing Clover HTML report...
          Publishing Clover XML report...
          Publishing Clover coverage results...
          [Pipeline] }
          [Pipeline] // stage
          [Pipeline] }
          [Pipeline] // wrap
          [Pipeline] }
          [Pipeline] // node
          [Pipeline] End of Pipeline
          java.lang.NullPointerException
          	at hudson.plugins.clover.CloverPublisher.processCloverXml(CloverPublisher.java:250)
          	at hudson.plugins.clover.CloverPublisher.performImpl(CloverPublisher.java:202)
          	at hudson.plugins.clover.CloverPublisher.perform(CloverPublisher.java:167)
          	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:69)
          	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59)
          	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
          	at hudson.security.ACL.impersonate(ACL.java:221)
          	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
          	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	at java.lang.Thread.run(Thread.java:745)
          Finished: FAILURE
          

          The error above comes with
          Jenkins v2.25
          Clover plugin v4.7.0

          Downgrade the Clover plugin to v4.6.0 solves the problem

          Show
          sweetchuck Andor Dávid added a comment - - edited Same problem here step([ $class: 'CloverPublisher' , cloverReportDir: 'tests/_output/coverage' , cloverReportFileName: 'coverage.xml' ]) [Pipeline] step Publishing Clover coverage report... Publishing Clover HTML report... Publishing Clover XML report... Publishing Clover coverage results... [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // wrap [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline java.lang.NullPointerException at hudson.plugins.clover.CloverPublisher.processCloverXml(CloverPublisher.java:250) at hudson.plugins.clover.CloverPublisher.performImpl(CloverPublisher.java:202) at hudson.plugins.clover.CloverPublisher.perform(CloverPublisher.java:167) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:69) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52) at hudson.security.ACL.impersonate(ACL.java:221) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang. Thread .run( Thread .java:745) Finished: FAILURE The error above comes with Jenkins v2.25 Clover plugin v4.7.0 Downgrade the Clover plugin to v4.6.0 solves the problem
          Hide
          markcariddi Mark Cariddi added a comment -

          I am still seeing this issue with the 4.6.0 plugin.

          Show
          markcariddi Mark Cariddi added a comment - I am still seeing this issue with the 4.6.0 plugin.
          Hide
          ahmedmusallam Ahmed Musallam added a comment -

          Andor Dávid Mark Cariddi We have seen this issue on my project. It turned out to be a missing config for the clover publisher. Specifically the <failingTarget> config. This config's absence is not handled properly in the plugin, I opened an issue here: https://issues.jenkins-ci.org/browse/JENKINS-40297

          <hudson.plugins.clover.CloverPublisher>
          <cloverReportDir>target/site/clover</cloverReportDir>
          <cloverReportFileName>clover.xml</cloverReportFileName>
          <healthyTarget>
          <methodCoverage>70</methodCoverage>
          <conditionalCoverage>80</conditionalCoverage>
          <statementCoverage>80</statementCoverage>
          </healthyTarget>
          <unhealthyTarget>
          <methodCoverage>40</methodCoverage>
          <conditionalCoverage>40</conditionalCoverage>
          <statementCoverage>40</statementCoverage>
          </unhealthyTarget>
          <failingTarget>
          <methodCoverage>0</methodCoverage>
          <conditionalCoverage>0</conditionalCoverage>
          <statementCoverage>0</statementCoverage>
          </failingTarget>
          </hudson.plugins.clover.CloverPublisher>

          Show
          ahmedmusallam Ahmed Musallam added a comment - Andor Dávid Mark Cariddi We have seen this issue on my project. It turned out to be a missing config for the clover publisher. Specifically the <failingTarget> config. This config's absence is not handled properly in the plugin, I opened an issue here: https://issues.jenkins-ci.org/browse/JENKINS-40297 <hudson.plugins.clover.CloverPublisher> <cloverReportDir>target/site/clover</cloverReportDir> <cloverReportFileName>clover.xml</cloverReportFileName> <healthyTarget> <methodCoverage>70</methodCoverage> <conditionalCoverage>80</conditionalCoverage> <statementCoverage>80</statementCoverage> </healthyTarget> <unhealthyTarget> <methodCoverage>40</methodCoverage> <conditionalCoverage>40</conditionalCoverage> <statementCoverage>40</statementCoverage> </unhealthyTarget> <failingTarget> <methodCoverage>0</methodCoverage> <conditionalCoverage>0</conditionalCoverage> <statementCoverage>0</statementCoverage> </failingTarget> </hudson.plugins.clover.CloverPublisher>
          snallami suresh nallamilli made changes -
          Priority Minor [ 4 ] Major [ 3 ]
          Hide
          mparfianowicz Marek Parfianowicz added a comment -

          Can you confirm that this still happens in the latest Jenkins Clover Plugin - version 4.7.1?

          I'm asking because in this version I fixed NPE and closed two other tickets: JENKINS-38956 and JENKINS-39410 which look very similar to yours.

          I suspect that this bug report can be closed too.

          Show
          mparfianowicz Marek Parfianowicz added a comment - Can you confirm that this still happens in the latest Jenkins Clover Plugin - version 4.7.1 ? I'm asking because in this version I fixed NPE and closed two other tickets: JENKINS-38956  and JENKINS-39410  which look very similar to yours. I suspect that this bug report can be closed too.
          Hide
          barbazul Matias Montes added a comment -

          I can confirm that in 4.7.1 still there is no coverage graph in the main Status page for the job.

           

           

          Show
          barbazul Matias Montes added a comment - I can confirm that in 4.7.1 still there is no coverage graph in the main Status page for the job.    
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Piotr Mis
          Path:
          src/main/java/hudson/plugins/clover/CloverBuildAction.java
          src/main/java/hudson/plugins/clover/CloverProjectAction.java
          src/main/java/hudson/plugins/clover/CloverPublisher.java
          http://jenkins-ci.org/commit/clover-plugin/a58061c681f24c6262fd7c07088f002b48fe5b49
          Log:
          JENKINS-34439 Clover plugin still has problems with pipeline builds

          Clover action not displayed on workflow job main page.

          CloverBuildAction.java

          • Added SimpleBuildStep.LastBuildAction interface
          • changed AbstractBuild to Run<?,?>

          CloverProjectAction.java

          • changed Project to Job
          • changed Build to Run

          CloverPublisher.java

          • removed not needed imports
          • removed getProjectAction (moved to BuildAction)
          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Piotr Mis Path: src/main/java/hudson/plugins/clover/CloverBuildAction.java src/main/java/hudson/plugins/clover/CloverProjectAction.java src/main/java/hudson/plugins/clover/CloverPublisher.java http://jenkins-ci.org/commit/clover-plugin/a58061c681f24c6262fd7c07088f002b48fe5b49 Log: JENKINS-34439 Clover plugin still has problems with pipeline builds Clover action not displayed on workflow job main page. CloverBuildAction.java Added SimpleBuildStep.LastBuildAction interface changed AbstractBuild to Run<?,?> CloverProjectAction.java changed Project to Job changed Build to Run CloverPublisher.java removed not needed imports removed getProjectAction (moved to BuildAction)
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Piotr Mis
          Path:
          src/test/java/hudson/plugins/clover/CloverBuildActionTest.java
          http://jenkins-ci.org/commit/clover-plugin/18ee1071bc3c3ffc64d6ea0f9c3144c84e04bf03
          Log:
          JENKINS-34439 Clover plugin still has problems with pipeline builds

          Clover action not displayed on workflow job main page.

          CloverBuildActionTest.java

          • Test extended with checking if CloverProjectAction is added properly to Job
          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Piotr Mis Path: src/test/java/hudson/plugins/clover/CloverBuildActionTest.java http://jenkins-ci.org/commit/clover-plugin/18ee1071bc3c3ffc64d6ea0f9c3144c84e04bf03 Log: JENKINS-34439 Clover plugin still has problems with pipeline builds Clover action not displayed on workflow job main page. CloverBuildActionTest.java Test extended with checking if CloverProjectAction is added properly to Job
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Piotr Mis
          Path:
          src/main/java/hudson/plugins/clover/CloverBuildAction.java
          http://jenkins-ci.org/commit/clover-plugin/02b183882a96d62e25c319ae1ca56b052c5faf24
          Log:
          JENKINS-34439 Clover plugin still has problems with pipeline builds

          CloverBuildAction.java:

          • Refactored this.projectAction access
          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Piotr Mis Path: src/main/java/hudson/plugins/clover/CloverBuildAction.java http://jenkins-ci.org/commit/clover-plugin/02b183882a96d62e25c319ae1ca56b052c5faf24 Log: JENKINS-34439 Clover plugin still has problems with pipeline builds CloverBuildAction.java: Refactored this.projectAction access
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Marek Parfianowicz
          Path:
          src/main/java/hudson/plugins/clover/CloverBuildAction.java
          src/main/java/hudson/plugins/clover/CloverProjectAction.java
          src/main/java/hudson/plugins/clover/CloverPublisher.java
          src/test/java/hudson/plugins/clover/CloverBuildActionTest.java
          http://jenkins-ci.org/commit/clover-plugin/8f4be30f572caa7a5b3fca1fe94e83702ac4829e
          Log:
          Merge pull request #20 from piomis/JENKINS-34439_no_trend_graph_on_main_job_page

          JENKINS-34439 Clover plugin still has problems with pipeline builds

          Compare: https://github.com/jenkinsci/clover-plugin/compare/53acf8b28fe0...8f4be30f572c

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Marek Parfianowicz Path: src/main/java/hudson/plugins/clover/CloverBuildAction.java src/main/java/hudson/plugins/clover/CloverProjectAction.java src/main/java/hudson/plugins/clover/CloverPublisher.java src/test/java/hudson/plugins/clover/CloverBuildActionTest.java http://jenkins-ci.org/commit/clover-plugin/8f4be30f572caa7a5b3fca1fe94e83702ac4829e Log: Merge pull request #20 from piomis/ JENKINS-34439 _no_trend_graph_on_main_job_page JENKINS-34439 Clover plugin still has problems with pipeline builds Compare: https://github.com/jenkinsci/clover-plugin/compare/53acf8b28fe0...8f4be30f572c
          marekparf Marek Parfianowicz made changes -
          Assignee Marek Parfianowicz [ marekparf ]
          Hide
          marekparf Marek Parfianowicz added a comment - - edited

          I tested the plugin with the changes from the pull request #20 and it seems that on a single master node the plugin works fine - I saw the graph after two builds, I didn't find 'WorkflowRun cannot be cast to AbstractBuild' exception too.

          When testing clover with slaves, the problem with

          java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper

          still persists. I'm working on it - this issue is tracked in JENKINS-33610.

          Show
          marekparf Marek Parfianowicz added a comment - - edited I tested the plugin with the changes from the pull request #20 and it seems that on a single master node the plugin works fine - I saw the graph after two builds, I didn't find 'WorkflowRun cannot be cast to AbstractBuild' exception too. When testing clover with slaves, the problem with java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper still persists. I'm working on it - this issue is tracked in JENKINS-33610 .
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Marek Parfianowicz
          Path:
          pom.xml
          http://jenkins-ci.org/commit/clover-plugin/56d2d2c6ec11d26e6fd929d15bb2dfbf9dbcfe71
          Log:
          JENKINS-34439: upgrade Workflow plugin to 2.0 (when it was renamed to the Pipeline Plugin); bumped minimum Jenkins version to 1.642.3 (the same minimum required by the Pipelines plugin, according to usage statistics over 95% instances with Clover run on 1.642.3 or higher so it should be fine)

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Marek Parfianowicz Path: pom.xml http://jenkins-ci.org/commit/clover-plugin/56d2d2c6ec11d26e6fd929d15bb2dfbf9dbcfe71 Log: JENKINS-34439 : upgrade Workflow plugin to 2.0 (when it was renamed to the Pipeline Plugin); bumped minimum Jenkins version to 1.642.3 (the same minimum required by the Pipelines plugin, according to usage statistics over 95% instances with Clover run on 1.642.3 or higher so it should be fine)
          marekparf Marek Parfianowicz made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Hide
          marekparf Marek Parfianowicz added a comment -

          Fix will be delivered in 4.8.1+

          Show
          marekparf Marek Parfianowicz added a comment - Fix will be delivered in 4.8.1+
          marekparf Marek Parfianowicz made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]

            People

            • Assignee:
              marekparf Marek Parfianowicz
              Reporter:
              toadnik17 Todd Perry
            • Votes:
              15 Vote for this issue
              Watchers:
              22 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: