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

The performanceReport plugin fails to find source data files.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • performance-plugin
    • None
    • Win 2012, Jenkins 2.56, performance plugin 2.2

      Since updating Jenkins and this plugin late last week, our builds break with e.g.

      java.io.FileNotFoundException: <path>/**/*Junit.xml (The system cannot find the path specified)
      13:30:27 	at java.io.FileInputStream.open0(Native Method)
      13:30:27 	at java.io.FileInputStream.open(Unknown Source)
      13:30:27 	at java.io.FileInputStream.<init>(Unknown Source)
      13:30:27 	at java.io.FileReader.<init>(Unknown Source)
      13:30:27 	at hudson.plugins.performance.parsers.ParserDetector.detect(ParserDetector.java:21)
      13:30:27 	at hudson.plugins.performance.parsers.ParserFactory.getParser(ParserFactory.java:26)
      13:30:27 	at hudson.plugins.performance.PerformancePublisher.getParsers(PerformancePublisher.java:439)
      13:30:27 	at hudson.plugins.performance.PerformancePublisher.perform(PerformancePublisher.java:481)
      13:30:27 	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:78)
      13:30:27 	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:65)
      13:30:27 	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:49)
      13:30:27 	at hudson.security.ACL.impersonate(ACL.java:260)
      13:30:27 	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:46)
      13:30:27 	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      13:30:27 	at java.util.concurrent.FutureTask.run(Unknown Source)
      13:30:27 	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      13:30:27 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      13:30:27 	at java.lang.Thread.run(Unknown Source)

      <path> is valid and exists on the slave running the job. My pipeline script contains:

      performanceReport compareBuildPrevious: true, configType: 'ART', modeOfThreshold: false, modePerformancePerTestCase: true, parsers: [[$class: 'JUnitParser', glob: '**/*Junit.xml, **/TEST-*.xml']], relativeFailedThresholdNegative: 0.02, relativeFailedThresholdPositive: 0.02, relativeUnstableThresholdNegative: 0.01, relativeUnstableThresholdPositive: 0.01
      

      which has been working for some time. For starters, the output implied that the plugin is trying to concatenate the file name filters into a single path e.g.

      
      

      java.io.FileNotFoundException: <path>/**/Junit.xml, **/TEST-.xml ...
      {code]

      I tried reducing it to a single filter and progressively making it simpler until I had the path to a single file fully specified there and it still fails. I suspect that something broke with the recent changes to the Groovy code and its either not parsing filters correctly or it's now looking on the master, neither of which are helpful. I can't make it work at all.

            undera Andrey Pokhilko
            ghs1 g hs1
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: