Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unrecoverable error while evaluating node 'ActionLookupData{...}' #6170

Closed
ob opened this issue Sep 17, 2018 · 14 comments
Closed

Unrecoverable error while evaluating node 'ActionLookupData{...}' #6170

ob opened this issue Sep 17, 2018 · 14 comments
Labels
P2 We'll consider working on this in future. (Assignee optional) stale Issues or PRs that are stale (no activity for 30 days) team-Remote-Exec Issues and PRs for the Execution (Remote) team type: bug

Comments

@ob
Copy link
Contributor

ob commented Sep 17, 2018

Following up from #5296:

I'm seeing this error with Bazel's master, 0.17.1 and the 0.18.0 branch while building an iOS application using rules_apple 0.7.0, rules_swift at 7bbcf9584613169cda709b9c217f5ac29cc5a089 and a remote-cache.

It's reproducible and I can debug. However, I can't share the app.

It only happens when the remote cache is enabled.

Target //:Learning failed to build
Use --verbose_failures to see the command lines of failed build steps.
Internal error thrown during build. Printing stack trace: java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//:Learning BuildConfigurationValue.Key[60edc76b6e51ae9c94f8292c73a6cd21] false, actionIndex=344}' (requested by nodes 'File:[[<execution_root>]bazel-out/darwin-fastbuild/bin]Learning.unprocessed.zip')
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:495)
	at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Encountered two inputs with the same path.
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:325)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildFromActionInputs(TreeNodeRepository.java:285)
	at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:75)
	at com.google.devtools.build.lib.exec.SpawnActionContextMaps$ProxySpawnActionContext.exec(SpawnActionContextMaps.java:362)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:288)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:295)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeActionTask(SkyframeActionExecutor.java:994)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.prepareScheduleExecuteAndCompleteAction(SkyframeActionExecutor.java:923)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.access$800(SkyframeActionExecutor.java:121)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:763)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:718)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:471)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:505)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:215)
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:418)
	... 4 more

INFO: Elapsed time: 17.489s, Critical Path: 11.81s
INFO: 4 processes: 4 remote cache hit.
FAILED: Build did NOT complete successfully
java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//:Learning BuildConfigurationValue.Key[60edc76b6e51ae9c94f8292c73a6cd21] false, actionIndex=344}' (requested by nodes 'File:[[<execution_root>]bazel-out/darwin-fastbuild/bin]Learning.unprocessed.zip')
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:495)
	at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Encountered two inputs with the same path.
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:325)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildFromActionInputs(TreeNodeRepository.java:285)
	at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:75)
	at com.google.devtools.build.lib.exec.SpawnActionContextMaps$ProxySpawnActionContext.exec(SpawnActionContextMaps.java:362)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:288)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:295)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeActionTask(SkyframeActionExecutor.java:994)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.prepareScheduleExecuteAndCompleteAction(SkyframeActionExecutor.java:923)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.access$800(SkyframeActionExecutor.java:121)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:763)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:718)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:471)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:505)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:215)
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:418)
	... 4 more
java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//:Learning BuildConfigurationValue.Key[60edc76b6e51ae9c94f8292c73a6cd21] false, actionIndex=344}' (requested by nodes 'File:[[<execution_root>]bazel-out/darwin-fastbuild/bin]Learning.unprocessed.zip')
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:495)
	at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Encountered two inputs with the same path.
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:325)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildParentNode(TreeNodeRepository.java:348)
	at com.google.devtools.build.lib.remote.TreeNodeRepository.buildFromActionInputs(TreeNodeRepository.java:285)
	at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:101)
	at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:75)
	at com.google.devtools.build.lib.exec.SpawnActionContextMaps$ProxySpawnActionContext.exec(SpawnActionContextMaps.java:362)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:288)
	at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:295)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeActionTask(SkyframeActionExecutor.java:994)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.prepareScheduleExecuteAndCompleteAction(SkyframeActionExecutor.java:923)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.access$800(SkyframeActionExecutor.java:121)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:763)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:718)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:471)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:505)
	at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:215)
	at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:418)
FAILED: Build did NOT complete successfully
@jin jin added z-team-Apple Deprecated. Send to rules_apple, or label team-Rules-CPP + platform:apple untriaged labels Sep 18, 2018
@jin
Copy link
Member

jin commented Sep 18, 2018

cc @benjaminp @buchgr

@ob
Copy link
Contributor Author

ob commented Sep 18, 2018

So one thing I found while debugging is that the assertion that's failing (code here) is due to a directory being in the list of inputs

66 = {Artifact$SourceArtifact@9202} "File:[/Users/obonilla/r/learning-ios_trunk[source]]Pods/LISemaphoreLib/Resources/en.lproj"
67 = {Artifact$SourceArtifact@9203} "File:[/Users/obonilla/r/learning-ios_trunk[source]]Pods/LISemaphoreLib/Resources/en.lproj/SemLibStrings.strings"

The code doesn't handle that case so I assume it doesn't expect directories to be passed as source artifacts? Is that by design? Is the bug that the directory is there or is the bug that the code isn't handling directories here?

@ob
Copy link
Contributor Author

ob commented Sep 18, 2018

Lo and behold... the rules's resources section does contain those entries:

resources = [
...
        "Resources/en.lproj",
        "Resources/en.lproj/SemLibStrings.strings",
...
]

@aragos aragos added P3 We're not considering working on this, but happy to review a PR. (No assignee) and removed untriaged labels Sep 18, 2018
@aragos
Copy link
Contributor

aragos commented Sep 18, 2018

Looks like a legit bug. Sergio, David, how would you resolve this? Not allow directory entries in resources attributes? I know you're reworking how those work anyhow so deferring to you here.

@sergiocampama
Copy link
Contributor

sergiocampama commented Sep 18, 2018

The fact that bazel allows a directory in a label_list attribute is the bug IMO (or is that expected/documented?). In fact, we can't even detect this in analysis time, as is_directory returns False for a File object that is actually a directory.

We do have execution-time validation in the tools, but this error is way before the tool gets executed, so there's no action we can do right now. I would bring this up with the Starlark team instead and get to a consensus whether directories are valid targets, and if so, to fix is_directory to return the correct value for those cases.

@aragos aragos added P2 We'll consider working on this in future. (Assignee optional) team-Starlark untriaged and removed P3 We're not considering working on this, but happy to review a PR. (No assignee) z-team-Apple Deprecated. Send to rules_apple, or label team-Rules-CPP + platform:apple labels Sep 18, 2018
@aragos aragos removed their assignment Sep 18, 2018
@jin jin added team-Local-Exec Issues and PRs for the Execution (Local) team and removed team-Execution labels Jan 14, 2019
@buchgr buchgr added team-Remote-Exec Issues and PRs for the Execution (Remote) team and removed team-Local-Exec Issues and PRs for the Execution (Local) team labels Jan 19, 2019
@sergiocampama
Copy link
Contributor

@laurentlb can you clarify that this is a bug with how bazel accepts directories as inputs to label_list attributes?

@laurentlb laurentlb assigned c-parsons and unassigned laurentlb Feb 12, 2019
@c-parsons
Copy link
Contributor

I have no background to offer, (the implementation of label_list precedes me)
I'm rather surprised that one can even refer to a directory as a bazel target.

That is:

$ mkdir somedir
$ touch somedir/foo
$ echo "exports_files(['somedir/foo'])" > BUILD
# I'm surprised this works
$ bazel build //:somedir

... so i'll just offer my take:

It seems like a bug.
At the very least, I would expect inclusion of a directory into a label_list attribute to be reflected correctly with is_directory. It is not.

This will need some further investigation -- how usable are the File objects that represent these directories? Is anyone depending on such Files? What about native rules -- can they depend on such directory objects?

@keith
Copy link
Member

keith commented Feb 14, 2019

We hit a similar issue to this:


Internal error thrown during build. Printing stack trace: java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//Modules/BusinessProfile:BusinessProfileResources BuildConfigurationValue.Key[a82c0c8b2e9d96bae69578ed9451eccb] false, actionIndex=8}' (requested by nodes 'File:[[<execution_root>]bazel-out/ios-arm64-min10.0-applebin_ios-ios_arm64-opt/bin]Modules/BusinessProfile/BusinessProfileResources-intermediates/es.lproj/BusinessProfileOnboardingEducationViewController.strings')
--
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:514)
  | at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
  | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | at java.base/java.lang.Thread.run(Unknown Source)
  | Caused by: java.lang.IllegalStateException: Did not write as much data as expected.
  | at com.google.protobuf.CodedOutputStream.checkNoSpaceLeft(CodedOutputStream.java:977)
  | at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:73)
  | at com.google.devtools.build.lib.remote.util.DigestUtil.compute(DigestUtil.java:98)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.getOrComputeDirectory(TreeNodeRepository.java:391)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:411)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:105)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:102)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:76)
  | at com.google.devtools.build.lib.exec.ProxySpawnActionContext.exec(ProxySpawnActionContext.java:44)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:283)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:290)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.executeAction(SkyframeActionExecutor.java:889)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:854)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:787)
  | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:541)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:697)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:240)
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:437)
  | ... 4 more
  |  
  | INFO: Elapsed time: 25.249s, Critical Path: 18.82s
  | INFO: 266 processes: 266 darwin-sandbox.
  | FAILED: Build did NOT complete successfully
  | Internal error thrown during build. Printing stack trace: java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//Modules/BusinessProfile:BusinessProfileResources BuildConfigurationValue.Key[a82c0c8b2e9d96bae69578ed9451eccb] false, actionIndex=8}' (requested by nodes 'File:[[<execution_root>]bazel-out/ios-arm64-min10.0-applebin_ios-ios_arm64-opt/bin]Modules/BusinessProfile/BusinessProfileResources-intermediates/es.lproj/BusinessProfileOnboardingEducationViewController.strings')
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:514)
  | at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
  | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | at java.base/java.lang.Thread.run(Unknown Source)
  | Caused by: java.lang.IllegalStateException: Did not write as much data as expected.
  | at com.google.protobuf.CodedOutputStream.checkNoSpaceLeft(CodedOutputStream.java:977)
  | at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:73)
  | at com.google.devtools.build.lib.remote.util.DigestUtil.compute(DigestUtil.java:98)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.getOrComputeDirectory(TreeNodeRepository.java:391)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:411)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:105)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:102)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:76)
  | at com.google.devtools.build.lib.exec.ProxySpawnActionContext.exec(ProxySpawnActionContext.java:44)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:283)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:290)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.executeAction(SkyframeActionExecutor.java:889)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:854)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:787)
  | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:541)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:697)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:240)
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:437)
  | ... 4 more
  | java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//Modules/BusinessProfile:BusinessProfileResources BuildConfigurationValue.Key[a82c0c8b2e9d96bae69578ed9451eccb] false, actionIndex=8}' (requested by nodes 'File:[[<execution_root>]bazel-out/ios-arm64-min10.0-applebin_ios-ios_arm64-opt/bin]Modules/BusinessProfile/BusinessProfileResources-intermediates/es.lproj/BusinessProfileOnboardingEducationViewController.strings')
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:514)
  | at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
  | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | at java.base/java.lang.Thread.run(Unknown Source)
  | Caused by: java.lang.IllegalStateException: Did not write as much data as expected.
  | at com.google.protobuf.CodedOutputStream.checkNoSpaceLeft(CodedOutputStream.java:977)
  | at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:73)
  | at com.google.devtools.build.lib.remote.util.DigestUtil.compute(DigestUtil.java:98)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.getOrComputeDirectory(TreeNodeRepository.java:391)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:411)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:105)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:102)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:76)
  | at com.google.devtools.build.lib.exec.ProxySpawnActionContext.exec(ProxySpawnActionContext.java:44)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:283)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:290)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.executeAction(SkyframeActionExecutor.java:889)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:854)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:787)
  | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:541)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:697)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:240)
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:437)
  | ... 4 more
  | java.lang.RuntimeException: Unrecoverable error while evaluating node 'ActionLookupData{actionLookupKey=//Modules/BusinessProfile:BusinessProfileResources BuildConfigurationValue.Key[a82c0c8b2e9d96bae69578ed9451eccb] false, actionIndex=8}' (requested by nodes 'File:[[<execution_root>]bazel-out/ios-arm64-min10.0-applebin_ios-ios_arm64-opt/bin]Modules/BusinessProfile/BusinessProfileResources-intermediates/es.lproj/BusinessProfileOnboardingEducationViewController.strings')
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:514)
  | at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:368)
  | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  | at java.base/java.lang.Thread.run(Unknown Source)
  | Caused by: java.lang.IllegalStateException: Did not write as much data as expected.
  | at com.google.protobuf.CodedOutputStream.checkNoSpaceLeft(CodedOutputStream.java:977)
  | at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:73)
  | at com.google.devtools.build.lib.remote.util.DigestUtil.compute(DigestUtil.java:98)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.getOrComputeDirectory(TreeNodeRepository.java:391)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:411)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.TreeNodeRepository.computeMerkleDigests(TreeNodeRepository.java:409)
  | at com.google.devtools.build.lib.remote.RemoteSpawnCache.lookup(RemoteSpawnCache.java:105)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:102)
  | at com.google.devtools.build.lib.exec.AbstractSpawnStrategy.exec(AbstractSpawnStrategy.java:76)
  | at com.google.devtools.build.lib.exec.ProxySpawnActionContext.exec(ProxySpawnActionContext.java:44)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.internalExecute(SpawnAction.java:283)
  | at com.google.devtools.build.lib.analysis.actions.SpawnAction.execute(SpawnAction.java:290)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.executeAction(SkyframeActionExecutor.java:889)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:854)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor$ActionRunner.call(SkyframeActionExecutor.java:787)
  | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
  | at com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.executeAction(SkyframeActionExecutor.java:541)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.checkCacheAndExecuteIfNeeded(ActionExecutionFunction.java:697)
  | at com.google.devtools.build.lib.skyframe.ActionExecutionFunction.compute(ActionExecutionFunction.java:240)
  | at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:437)
  | ... 4 more
  | FAILED: Build did NOT complete successfully

@keith
Copy link
Member

keith commented Feb 14, 2019

The core error doesn't seem related to the directory issue, so maybe I should create a separate issue?

@c-parsons
Copy link
Contributor

Indeed, please file a separate issue. That looks different enough where I think it needs separate investigation :) (and anything you can offer in the realm of repro instructions would be appreciated)

@keith
Copy link
Member

keith commented Feb 15, 2019

Actually looks like this case might be fixed, I'll tack on to #6136 if needed

@segiddins
Copy link
Contributor

I'm running into this issue as well, where file.is_directory is still returning true for paths that definitely are directories

@github-actions
Copy link

Thank you for contributing to the Bazel repository! This issue has been marked as stale since it has not had any activity in the last 3 years. It will be closed in the next 14 days unless any other activity occurs or one of the following labels is added: "not stale", "awaiting-bazeler". Please reach out to the triage team (@bazelbuild/triage) if you think this issue is still relevant or you are interested in getting the issue resolved.

@github-actions github-actions bot added the stale Issues or PRs that are stale (no activity for 30 days) label Feb 28, 2023
@github-actions
Copy link

This issue has been automatically closed due to inactivity. If you're still interested in pursuing this, please reach out to the triage team (@bazelbuild/triage). Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 We'll consider working on this in future. (Assignee optional) stale Issues or PRs that are stale (no activity for 30 days) team-Remote-Exec Issues and PRs for the Execution (Remote) team type: bug
Projects
No open projects
remote: bugs
  
To do
Development

No branches or pull requests