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

Cannot parse coverage results Premature end of file.

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core
    • None
    • Linux (RHEL 5.6), Jenkins 1.427

      Our build server contains lots of modules, and is frequently under high load (we're adding slaves to distribute the load over different servers).
      The problem is that sometimes, under high load the builds fail when trying to parse the cobertura files.
      These are the details of the error:

      [DEBUG] --------------------
      [INFO] Cobertura Report generation was successful.
      [TASKS] Skipping maven reporter: there is already a result available.
      [JENKINS] Recording coverage results
      [INFO] ------------------------------------------------------------------------
      [ERROR] BUILD ERROR
      [INFO] ------------------------------------------------------------------------
      [INFO] Internal error in the plugin manager executing goal 'org.codehaus.mojo:cobertura-maven-plugin:2.4:cobertura': Cannot parse coverage results
      Premature end of file.
      [INFO] ------------------------------------------------------------------------
      [DEBUG] Trace
      org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the plugin manager executing goal 'org.codehaus.mojo:cobertura-maven-plugin:2.4:cobertura': Cannot parse coverage results
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:698)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      at hudson.maven.agent.Main.launch(Main.java:185)
      at hudson.maven.MavenBuilder.call(MavenBuilder.java:160)
      at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:1064)
      at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:995)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:287)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: org.apache.maven.plugin.PluginManagerException: Cannot parse coverage results
      at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:196)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      ... 28 more
      Caused by: hudson.util.IOException2: Cannot parse coverage results
      at hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:89)
      at hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:52)
      at hudson.plugins.cobertura.MavenCoberturaPublisher$MavenCoberturaActionAdder.call(MavenCoberturaPublisher.java:281)
      at hudson.plugins.cobertura.MavenCoberturaPublisher$MavenCoberturaActionAdder.call(MavenCoberturaPublisher.java:267)
      at hudson.maven.MavenBuild$ProxyImpl.execute(MavenBuild.java:415)
      at hudson.maven.MavenBuild$ProxyImpl2.execute(MavenBuild.java:488)
      at sun.reflect.GeneratedMethodAccessor511.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at hudson.model.Executor$1.call(Executor.java:514)
      at hudson.util.InterceptingProxy$1.invoke(InterceptingProxy.java:23)
      at $Proxy65.execute(Unknown Source)
      at sun.reflect.GeneratedMethodAccessor876.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:274)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
      at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
      ... 9 more
      Caused by: org.xml.sax.SAXParseException: Premature end of file.
      at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
      at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
      at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
      at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
      at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
      at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
      at hudson.plugins.cobertura.CoberturaCoverageParser.parse(CoberturaCoverageParser.java:81)
      ... 26 more

      Any help would be appreciated.
      Let me know if you need more information, I'll be glad to give it !

      Thanks a lot,
      Frederic

          [JENKINS-11251] Cannot parse coverage results Premature end of file.

          Frederic Marius created issue -

          Frederic Marius added a comment - - edited

          I first thought the issue was the same as JENKINS-7871, but the stack trace looks a little bit different, and clearly the problem is still present.

          Frederic Marius added a comment - - edited I first thought the issue was the same as JENKINS-7871 , but the stack trace looks a little bit different, and clearly the problem is still present.
          Frederic Marius made changes -
          Link New: This issue is related to JENKINS-7871 [ JENKINS-7871 ]

          I can confirm that this type of problem appears randomly on different projects: the projects that had this error previously now build correctly, and some other projects that built fine now suddenly have this error.

          Frederic Marius added a comment - I can confirm that this type of problem appears randomly on different projects: the projects that had this error previously now build correctly, and some other projects that built fine now suddenly have this error.

          Can you check the version number of slave.jar and see which version it is? I wonder if you've been using old version of the slave.jar that doesn't have our recent fixes to these issues.

          Kohsuke Kawaguchi added a comment - Can you check the version number of slave.jar and see which version it is? I wonder if you've been using old version of the slave.jar that doesn't have our recent fixes to these issues.

          To determine the version I've used:
          jar xvf slave.jar jenkins/remoting/jenkins-version.properties
          According to this file we have version=2.4

          Frederic Marius added a comment - To determine the version I've used: jar xvf slave.jar jenkins/remoting/jenkins-version.properties According to this file we have version=2.4

          We have the same issue, not using slaves. It's happening on our master Jenkins instance, randomly.

          We're running Jenkins 1.433 and using cobertura maven plugin 2.3.

          I can upgrade Jenkins see if that changes anything.

          Philippe Laflamme added a comment - We have the same issue, not using slaves. It's happening on our master Jenkins instance, randomly. We're running Jenkins 1.433 and using cobertura maven plugin 2.3. I can upgrade Jenkins see if that changes anything.
          Kohsuke Kawaguchi made changes -
          Link New: This issue is duplicated by JENKINS-6609 [ JENKINS-6609 ]

          Kohsuke Kawaguchi added a comment - - edited

          Looking at the cobertura plugin, I see that it's not reading from a pipe (which I assumed so incorrectly earlier.) Instead, this is loading a local file. That changes everything.

          Kohsuke Kawaguchi added a comment - - edited Looking at the cobertura plugin, I see that it's not reading from a pipe (which I assumed so incorrectly earlier.) Instead, this is loading a local file. That changes everything.
          Kohsuke Kawaguchi made changes -
          Priority Original: Major [ 3 ] New: Blocker [ 1 ]

            Unassigned Unassigned
            feniks Frederic Marius
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: