question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Unrecoverable error when referencing external repository

See original GitHub issue

Hi there,

I’ve set up a local_repository in our WORKSPACE file, and would like to leverage bind to prevent having to change the BUILD files.

From the documentation, it seems I should be able to do something like the following:

bind( name = “grpc”, actual = “@grpc//:grpc”, )

local_repository( name = “grpc”, path = “third_party/google/grpc”, )

And the BUILD dependency should become: “//external:grpc” whereas it was previously “//third_party/google/grpc:gprc”.

However, if I try to do this, I hit the following exception:

java.lang.RuntimeException: Unrecoverable error while evaluating node 'CONFIGURED_TARGET://lb:ip-forwarder-main eeab51cc7d46801c1a05a5f646430553 (936318221 375452941)' (requested by nodes 'CONFIGURED_TARGET://lb/testing:ip_forwarder_test eeab51cc7d46801c1a05a5f646430553 (1211325356 375452941)')
    at com.google.devtools.build.skyframe.ParallelEvaluator$Evaluate.run(ParallelEvaluator.java:438)
    at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:501)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at com.google.devtools.build.lib.packages.NonconfigurableAttributeMapper.get(NonconfigurableAttributeMapper.java:45)
    at com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.isTestOnlyRule(BazelRuleClassProvider.java:266)
    at com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.validateDirectPrerequisiteForTestOnly(BazelRuleClassProvider.java:252)
    at com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.validate(BazelRuleClassProvider.java:196)
    at com.google.devtools.build.lib.analysis.RuleContext$Builder.validateDirectPrerequisite(RuleContext.java:1954)
    at com.google.devtools.build.lib.analysis.RuleContext$Builder.createTargetMap(RuleContext.java:1626)
    at com.google.devtools.build.lib.analysis.RuleContext$Builder.build(RuleContext.java:1465)
    at com.google.devtools.build.lib.analysis.ConfiguredTargetFactory.createRule(ConfiguredTargetFactory.java:245)
    at com.google.devtools.build.lib.analysis.ConfiguredTargetFactory.createConfiguredTarget(ConfiguredTargetFactory.java:176)
    at com.google.devtools.build.lib.skyframe.SkyframeBuildView.createConfiguredTarget(SkyframeBuildView.java:491)
    at com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction.createConfiguredTarget(ConfiguredTargetFunction.java:1094)
    at com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction.compute(ConfiguredTargetFunction.java:251)
    at com.google.devtools.build.skyframe.ParallelEvaluator$Evaluate.run(ParallelEvaluator.java:373)
    ... 4 more

Environment info

  • Operating System: Ubuntu 14.04

  • Bazel version (output of bazel info release): up to git commit ID 54223b019817c329d7bff1c174d497ef3d64695a

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
kchodorowcommented, Mar 8, 2017

The most troubling thing with this is that it looks impossible to find out what the offending twice-used name is (none of my own’s project targets conflict with the gRPC ones). @kchodorow is there a, potentially hackyish, way to find that out?

It should be a dependency of the target named in the error. E.g., above, the error message says Unrecoverable error while evaluating node 'CONFIGURED_TARGET://lb:ip-forwarder-main, so you’d look at //lb:ip-forwarder-main’s deps. Does that help narrow it down?

Could you be more explicit as to why you discourage the use of bind? As far as I can see bind is very often required to fix up naming differences of the targets of the same second-degree dependency between two different first-degree dependencies.

There is a fairly long discussion on #1952.

0reactions
dslomovcommented, Jan 15, 2018

Dupilcate of #3676

Read more comments on GitHub >

github_iconTop Results From Across the Web

Unrecoverable error while evaluating node ... - GitHub
Bazel occasionally fails with the following output: 13:21:32 java.lang.RuntimeException: Unrecoverable error while evaluating node ' ...
Read more >
git: fatal: Could not read from remote repository - Stack Overflow
This error means that you have not specified your remote URL location upon which your code will push. You can set remote URL...
Read more >
How to Fix the “fatal: not a git repository” Error - ContainIQ
Basic Troubleshooting. In short, the fatal: not a git repository error indicates that your current working directory isn't tracked by Git. If you...
Read more >
No url found for submodule path - DeployHQ
This occurs when the repository is using files cloned from another repository but has had no mapping reference to the source repository created...
Read more >
Build GitHub repositories - Azure Pipelines - Microsoft Learn
Using a GitHub repository with Azure Pipelines. ... GitHub may display an error such as: ... Contributions from external sources.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found