Skip to content

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

Closed

Description

@jenkins-infra-bot

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


Originally reported by feniks, imported from: Cannot parse coverage results Premature end of file.
  • status: Resolved
  • priority: Blocker
  • component(s): core
  • resolution: Fixed
  • resolved: 2012-06-16T02:36:46+00:00
  • votes: 1
  • watchers: 9
  • imported: 2025-11-24
Raw content of original issue

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

  • environment: Linux (RHEL 5.6), Jenkins 1.427

Activity

  1. jenkins-infra-bot commented on Oct 7, 2011

    @jenkins-infra-bot
    Author
    feniks:
    • Original comment link
    • Raw content of original comment:

      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.

    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.

  2. jenkins-infra-bot commented on Oct 10, 2011

    @jenkins-infra-bot
    Author
    feniks:
    • Original comment link
    • Raw content of original 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.

    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.

  3. jenkins-infra-bot commented on Oct 10, 2011

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original 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.

    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.

  4. jenkins-infra-bot commented on Oct 19, 2011

    @jenkins-infra-bot
    Author
    feniks:
    • Original comment link
    • Raw content of original 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

    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

  5. jenkins-infra-bot commented on Nov 10, 2011

    @jenkins-infra-bot
    Author
    plaflamme:
    • Original comment link
    • Raw content of original 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.

    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.

  6. jenkins-infra-bot commented on Jun 15, 2012

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original comment:

      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.

    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.

  7. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original comment:

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

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

  8. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    dogfood:

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

    Result = SUCCESS
    Kohsuke Kawaguchi : f49d6258451155c716976d7af5433c0fde7fe890
    Files :

    • core/src/main/java/hudson/FilePath.java
    • changelog.html
    • pom.xml
  9. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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.

  10. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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.

    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 e0e154d

    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.

  11. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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.

    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.

  12. jenkins-infra-bot commented on Jun 16, 2012

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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: jenkinsci/remoting@cb1854b...0060951

  13. jenkins-infra-bot commented on Jul 8, 2012

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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 f49d625)

    Conflicts:

    changelog.html

  14. jenkins-infra-bot commented on Nov 24, 2025

    @jenkins-infra-bot
    Author

    [Original is_duplicated_by from Jira: JENKINS-6609]

  15. removed
    bugFor changelog: Minor bug. Will be listed after features
    on Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions