EOFException on readExecutionData

1,734 views
Skip to first unread message

tc0...@gmail.com

unread,
Oct 28, 2016, 3:14:35 AM10/28/16
to JaCoCo and EclEmma Users
Hi,

JaCoCo is randomly failing when it generates the report. Sometimes EOFException is thrown on readExecutionData(). This happens randomly and more often on Travis, and rarely on local dev box.
I'm pretty new to JaCoCo. Would someone show me the best way to debug this?

This doesn't happen that often when I was using 0.7.5.201505241946.

Stacktrace:
[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.7.201606060606:report-aggregate (jacoco-report) on project livy-coverage-report: An error has occurred in JaCoCo Aggregate report generation. Error while creating report: null: EOFException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.7.201606060606:report-aggregate (jacoco-report) on project livy-coverage-report: An error has occurred in JaCoCo Aggregate report generation.
...
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:267)
at org.jacoco.core.internal.data.CompactDataInput.readBooleanArray(CompactDataInput.java:63)
at org.jacoco.core.data.ExecutionDataReader.readExecutionData(ExecutionDataReader.java:149)
at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:115)
at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:92)
at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:59)
at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:73)
at org.jacoco.maven.ReportSupport.loadExecutionData(ReportSupport.java:87)
at org.jacoco.maven.ReportAggregateMojo.loadExecutionData(ReportAggregateMojo.java:116)
at org.jacoco.maven.ReportAggregateMojo.loadExecutionData(ReportAggregateMojo.java:109)
at org.jacoco.maven.AbstractReportMojo.executeReport(AbstractReportMojo.java:177)
... 22 more
Travis build log:
https://travis-ci.org/hdinsight/livy/jobs/171299465

POM file:
https://github.com/hdinsight/livy/blob/de9a35e39508bc05297ccdd90c60bc05cd72cf51/pom.xml

Thanks!
Alex

Marc R. Hoffmann

unread,
Oct 28, 2016, 11:43:07 AM10/28/16
to jac...@googlegroups.com
Hi,

this means exec file is truncated somewhere in the middle. Typical cause
for this is non-graceful shutdown of the JVM running the tests.

Cheers,
-marc

tc0...@gmail.com

unread,
Oct 28, 2016, 4:05:40 PM10/28/16
to JaCoCo and EclEmma Users
Is there a way to get the truncated exec file name?

Thanks!

tc0...@gmail.com

unread,
Oct 28, 2016, 4:17:28 PM10/28/16
to JaCoCo and EclEmma Users
Is there a configuration to make JaCoCo more tolerant to non-graceful shutdown? We have a some crash recovery tests which forcibly kill JVM processes on purpose.

On Friday, October 28, 2016 at 8:43:07 AM UTC-7, Marc R. Hoffmann wrote:

Evgeny Mandrikov

unread,
Oct 29, 2016, 1:59:47 PM10/29/16
to JaCoCo and EclEmma Users, tc0...@gmail.com
Hi,

You can switch output mode from file to tcpserver or tcpclient to obtain dump prior to killing of JVM.
Or set jmx option to true to activate mbean and using it request dump into file prior to killing of JVM.
Description of those options can be found at http://www.eclemma.org/jacoco/trunk/doc/agent.html

Hope this helps.
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages