aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar twerth <twerth@google.com>2018-04-11 07:19:32 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-11 07:21:09 -0700
commit9635fc649ba7370186effbafe658ecc80fa3cd47 (patch)
tree9422084565a6381b22b15426059afd4ce97cefa5 /src/main/java/com
parent6a5b0772c6e5fedc912949663de8b79503df5e78 (diff)
Fix NPE in action graph dump.
RELNOTES: None PiperOrigin-RevId: 192445971
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
index 066fbcac7f..c900a61300 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
@@ -779,15 +779,19 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
SkyKey key = skyKeyAndNodeEntry.getKey();
SkyFunctionName functionName = key.functionName();
try {
- if (functionName.equals(SkyFunctions.CONFIGURED_TARGET)) {
- actionGraphDump.dumpConfiguredTarget((ConfiguredTargetValue) entry.getValue());
- } else if (functionName.equals(SkyFunctions.ASPECT)) {
- AspectValue aspectValue = (AspectValue) entry.getValue();
- AspectKey aspectKey = aspectValue.getKey();
- ConfiguredTargetValue configuredTargetValue =
- (ConfiguredTargetValue)
- memoizingEvaluator.getExistingValue(aspectKey.getBaseConfiguredTargetKey());
- actionGraphDump.dumpAspect(aspectValue, configuredTargetValue);
+ SkyValue skyValue = entry.getValue();
+ // The skyValue may be null in case analysis of the previous build failed.
+ if (skyValue != null) {
+ if (functionName.equals(SkyFunctions.CONFIGURED_TARGET)) {
+ actionGraphDump.dumpConfiguredTarget((ConfiguredTargetValue) skyValue);
+ } else if (functionName.equals(SkyFunctions.ASPECT)) {
+ AspectValue aspectValue = (AspectValue) skyValue;
+ AspectKey aspectKey = aspectValue.getKey();
+ ConfiguredTargetValue configuredTargetValue =
+ (ConfiguredTargetValue)
+ memoizingEvaluator.getExistingValue(aspectKey.getBaseConfiguredTargetKey());
+ actionGraphDump.dumpAspect(aspectValue, configuredTargetValue);
+ }
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();