aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Nguyen <olivernguyen@google.com>2020-10-22 12:09:54 -0700
committerOliver Nguyen <olivernguyen@google.com>2020-10-22 13:06:17 -0700
commitea2018aa31f4178c9fa2b3bd00db9961c73a8477 (patch)
tree58c3d80159a4b721852adf208e33d4698a9f93f4
parent55500ecea45cd30260bc63280bca71e49d783f46 (diff)
downloadjacoco-ea2018aa31f4178c9fa2b3bd00db9961c73a8477.tar.gz
Handle exceptions instead of passing them on.
Exceptions propagated down the stack are causing instability issues and random failures. Fall back where possible to normal ExecutionData instances instead. Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true CLANG_COVERAGE=true and check boot Bug: 171333204 Change-Id: I091d66d7aacbbbe70db10cc1a1c9b5ffbda7131b
-rw-r--r--org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java2
-rw-r--r--org.jacoco.core/src/org/jacoco/core/data/ExecutionDataDelegate.java2
2 files changed, 2 insertions, 2 deletions
diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java
index 2350ce55..99a054e7 100644
--- a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java
+++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Offline.java
@@ -94,7 +94,7 @@ public final class Offline {
data.convert(CHANNEL);
}
} catch (IOException e) {
- throw new RuntimeException(e);
+ // TODO(olivernguyen): Add logging to debug issues more easily.
}
}
diff --git a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataDelegate.java b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataDelegate.java
index cc6b3cc8..7cbe989f 100644
--- a/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataDelegate.java
+++ b/org.jacoco.core/src/org/jacoco/core/data/ExecutionDataDelegate.java
@@ -18,7 +18,7 @@ public class ExecutionDataDelegate implements IExecutionData {
try {
delegate = new MappedExecutionData(id, name, probeCount, channel);
} catch (IOException e) {
- throw new RuntimeException(e);
+ delegate = new ExecutionData(id, name, probeCount);
}
} else {
delegate = new ExecutionData(id, name, probeCount);