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

Cannot parse coverage results Premature end of file.

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
      Linux (RHEL 5.6), Jenkins 1.427
    • Similar Issues:

      Description

      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

        Attachments

          Issue Links

            Activity

            feniks Frederic Marius created issue -
            Hide
            feniks 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.

            Show
            feniks 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.
            feniks Frederic Marius made changes -
            Field Original Value New Value
            Link This issue is related to JENKINS-7871 [ JENKINS-7871 ]
            Hide
            feniks 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.

            Show
            feniks 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.
            Hide
            kohsuke 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.

            Show
            kohsuke 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.
            Hide
            feniks 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

            Show
            feniks 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
            Hide
            plaflamme 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.

            Show
            plaflamme 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 Kohsuke Kawaguchi made changes -
            Link This issue is duplicated by JENKINS-6609 [ JENKINS-6609 ]
            Hide
            kohsuke 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.

            Show
            kohsuke 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 Kohsuke Kawaguchi made changes -
            Priority Major [ 3 ] Blocker [ 1 ]
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            Bumped up the priority of this plugin to make it a candidate for LTS backporting.

            Show
            kohsuke Kohsuke Kawaguchi added a comment - Bumped up the priority of this plugin to make it a candidate for LTS backporting.
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #1764
            [FIXED JENKINS-11251] (Revision f49d6258451155c716976d7af5433c0fde7fe890)

            Result = SUCCESS
            Kohsuke Kawaguchi : f49d6258451155c716976d7af5433c0fde7fe890
            Files :

            • core/src/main/java/hudson/FilePath.java
            • changelog.html
            • pom.xml
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #1764 [FIXED JENKINS-11251] (Revision f49d6258451155c716976d7af5433c0fde7fe890) Result = SUCCESS Kohsuke Kawaguchi : f49d6258451155c716976d7af5433c0fde7fe890 Files : core/src/main/java/hudson/FilePath.java changelog.html pom.xml
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            changelog.html
            core/src/main/java/hudson/FilePath.java
            pom.xml
            http://jenkins-ci.org/commit/jenkins/f49d6258451155c716976d7af5433c0fde7fe890
            Log:
            [FIXED JENKINS-11251]

            The actual meat of the change is in remoting.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/src/main/java/hudson/FilePath.java pom.xml http://jenkins-ci.org/commit/jenkins/f49d6258451155c716976d7af5433c0fde7fe890 Log: [FIXED JENKINS-11251] The actual meat of the change is in remoting.
            scm_issue_link SCM/JIRA link daemon made changes -
            Status Open [ 1 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            src/main/java/hudson/remoting/ProxyOutputStream.java
            src/main/java/hudson/remoting/Request.java
            http://jenkins-ci.org/commit/remoting/8ffed0da4996934bfc28bf6b08c258d367a1c526
            Log:
            [JENKINS-11251 JENKINS-9189] Resurrecting what's deleted in e0e154d12d7a10759287b187467389c6e643c12b

            When communicating with remoting < 2.15, this allows them to continue to
            perform some degree of syncing, so that they can still enjoy the fix for
            JENKINS-9189.

            None of these code is exposed via API outside remoting, so at some point
            we can revert this change to simplify the code a bit and eliminate the
            redundancy, because as long as >= 2.15 remoting talk to each other,
            PipeWriter does everything we need.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/ProxyOutputStream.java src/main/java/hudson/remoting/Request.java http://jenkins-ci.org/commit/remoting/8ffed0da4996934bfc28bf6b08c258d367a1c526 Log: [JENKINS-11251 JENKINS-9189] Resurrecting what's deleted in e0e154d12d7a10759287b187467389c6e643c12b When communicating with remoting < 2.15, this allows them to continue to perform some degree of syncing, so that they can still enjoy the fix for JENKINS-9189 . None of these code is exposed via API outside remoting, so at some point we can revert this change to simplify the code a bit and eliminate the redundancy, because as long as >= 2.15 remoting talk to each other, PipeWriter does everything we need.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            src/main/java/hudson/remoting/Channel.java
            src/main/java/hudson/remoting/Pipe.java
            src/main/java/hudson/remoting/PipeWriter.java
            src/main/java/hudson/remoting/ProxyOutputStream.java
            src/main/java/hudson/remoting/Request.java
            src/main/java/hudson/remoting/Response.java
            http://jenkins-ci.org/commit/remoting/e0e154d12d7a10759287b187467389c6e643c12b
            Log:
            [FIXED JENKINS-11251] reimplemented I/O and Request/Response sync

            See PipeWriter javadoc for the discussion and the context of this.
            This change re-implements the original fix for JENKINS-9189.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/Channel.java src/main/java/hudson/remoting/Pipe.java src/main/java/hudson/remoting/PipeWriter.java src/main/java/hudson/remoting/ProxyOutputStream.java src/main/java/hudson/remoting/Request.java src/main/java/hudson/remoting/Response.java http://jenkins-ci.org/commit/remoting/e0e154d12d7a10759287b187467389c6e643c12b Log: [FIXED JENKINS-11251] reimplemented I/O and Request/Response sync See PipeWriter javadoc for the discussion and the context of this. This change re-implements the original fix for JENKINS-9189 .
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            src/test/java/hudson/remoting/PipeWriterTest.java
            src/test/java/hudson/remoting/PipeWriterTestChecker.java
            src/test/java/hudson/remoting/RmiTestBase.java
            http://jenkins-ci.org/commit/remoting/00609519a68bb2b488d6217d49f53a76d955bed0
            Log:
            Added a test case for JENKINS-11251.

            Compare: https://github.com/jenkinsci/remoting/compare/cb1854b81ac8...00609519a68b

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/test/java/hudson/remoting/PipeWriterTest.java src/test/java/hudson/remoting/PipeWriterTestChecker.java src/test/java/hudson/remoting/RmiTestBase.java http://jenkins-ci.org/commit/remoting/00609519a68bb2b488d6217d49f53a76d955bed0 Log: Added a test case for JENKINS-11251 . Compare: https://github.com/jenkinsci/remoting/compare/cb1854b81ac8...00609519a68b
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            changelog.html
            core/src/main/java/hudson/FilePath.java
            pom.xml
            http://jenkins-ci.org/commit/jenkins/6b495ceecc68d668690433eef663362d8ddede50
            Log:
            [FIXED JENKINS-11251]

            The actual meat of the change is in remoting.
            (cherry picked from commit f49d6258451155c716976d7af5433c0fde7fe890)

            Conflicts:

            changelog.html

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/src/main/java/hudson/FilePath.java pom.xml http://jenkins-ci.org/commit/jenkins/6b495ceecc68d668690433eef663362d8ddede50 Log: [FIXED JENKINS-11251] The actual meat of the change is in remoting. (cherry picked from commit f49d6258451155c716976d7af5433c0fde7fe890) Conflicts: changelog.html
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-9189 [ JENKINS-9189 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 141470 ] JNJira + In-Review [ 189636 ]

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: