Add explicit assertion (that will occasionally fail) that output of an action is not a source artifact. Hopefully additional output will help debug why this is happening.
PiperOrigin-RevId: 294558280
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Actions.java b/src/main/java/com/google/devtools/build/lib/actions/Actions.java
index 35d4670..359df27 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/Actions.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/Actions.java
@@ -226,6 +226,12 @@
for (ActionAnalysisMetadata action : actions) {
ActionLookupData generatingActionKey = ActionLookupData.create(actionLookupKey, actionIndex);
for (Artifact artifact : action.getOutputs()) {
+ Preconditions.checkState(
+ !artifact.isSourceArtifact(),
+ "Source in outputs: %s %s %s",
+ artifact,
+ generatingActionKey,
+ action);
Artifact.DerivedArtifact output = (Artifact.DerivedArtifact) artifact;
// Has an artifact with this execPath been seen before?
Artifact.DerivedArtifact equalOutput =