aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-02-01 05:50:31 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-01 05:52:05 -0800
commitf00ff761b1a36e43f639989e306b5e482fbd5f7e (patch)
treef82821fdcecf41d03526a96bf1edc5f0ee0bde50 /src/main/java
parent5bd27483dc6b25e4bf3d9f7a0441b0161f131df6 (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.java10
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;