diff options
author | tomlu <tomlu@google.com> | 2018-02-01 05:50:31 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-01 05:52:05 -0800 |
commit | f00ff761b1a36e43f639989e306b5e482fbd5f7e (patch) | |
tree | f82821fdcecf41d03526a96bf1edc5f0ee0bde50 /src/main/java | |
parent | 5bd27483dc6b25e4bf3d9f7a0441b0161f131df6 (diff) |
AbstractSpawnStrategy should not crash when executing actions with a null owner.
RELNOTES: None
PiperOrigin-RevId: 184127422
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java index be9c9dd617..0a0a2a811b 100644 --- a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java @@ -18,6 +18,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.eventbus.EventBus; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionExecutionMetadata; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.ActionInputFileCache; import com.google.devtools.build.lib.actions.ActionStatusMessage; @@ -218,14 +219,19 @@ public abstract class AbstractSpawnStrategy implements SandboxedSpawnActionConte @Override public void report(ProgressStatus state, String name) { + ActionExecutionMetadata action = spawn.getResourceOwner(); + if (action.getOwner() == null) { + return; + } + // TODO(ulfjack): We should report more details to the UI. EventBus eventBus = actionExecutionContext.getEventBus(); switch (state) { case EXECUTING: - eventBus.post(ActionStatusMessage.runningStrategy(spawn.getResourceOwner(), name)); + eventBus.post(ActionStatusMessage.runningStrategy(action, name)); break; case SCHEDULING: - eventBus.post(ActionStatusMessage.schedulingStrategy(spawn.getResourceOwner())); + eventBus.post(ActionStatusMessage.schedulingStrategy(action)); break; default: break; |