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

Return of Problems reading data from Binary store #18494

Closed
jimshowalter opened this issue Sep 30, 2021 · 6 comments
Closed

Return of Problems reading data from Binary store #18494

jimshowalter opened this issue Sep 30, 2021 · 6 comments
Assignees
Labels
a:bug @core Issue owned by GBT Core in:dependency-resolution engine metadata
Milestone

Comments

@jimshowalter
Copy link

Expected Behavior

./gradlew dependencies should generate trees of dependencies and send them to standard out.

Current Behavior

It blows up with the same kind of error reported in 2020 in #13316.

And the same list of failed attempts to fix it by deleting caches, recloning, rebooting, etc. applies in our case.

In the previous case the offending artifact was org.glassfish:jakarta.el and in this case it turned out to be com.sun.activation:jakarta.activation:1.2.2, but the behavior is identical.

Adding a dependency on com.sun.activation:jakarta.activation:1.2.1 fixed it for us.

Note that it only did this on one project that happens to involve jakarta activation. Our other projects don't have a problem.

Context

It makes it impossible to build the project.

Steps to Reproduce

I don't have time to try to reduce our project to something without intellectual property, but you know how you fixed this the last time it showed up.

Your Environment

Mac OS, Big Sur 11.6.
Java 8.
Gradle 7.2.

@yahorsi
Copy link

yahorsi commented Oct 4, 2021

Have the same issue with Gradle 6.9.1, tried everything possible.

Windows 10
Gradle 6.9.1
Java 11.02

@ljacomet
Copy link
Member

These issues are quite coupled to the dependency graph, the features it uses and the order in which resolution happens. This is why adding a first level dependency or constraint can make the problem go away.
Because of this, it is quite impossible to investigate without a reproducer.

Could you test with Gradle 7.3 RC?
Another instance of such an issue has been fixed (#18079), just want to see if this is the same root cause or not.
Note that this fix is lined up for a potential 6.9.2.

@ljacomet ljacomet removed their assignment Oct 19, 2021
@ljacomet ljacomet added in:dependency-resolution engine metadata and removed in:dependency-management DO NOT USE labels Oct 19, 2021
@jimshowalter
Copy link
Author

Unfortunately it stopped happening as mysteriously as it started.

@AlexLandau
Copy link
Contributor

We've been running into this error message periodically as our dependencies shift. I finally whittled down one of our cases to an open-sourceable repro, which triggers the error in Gradle 7.3: https://github.com/AlexLandau/gradle-binary-storage-problem

@ljacomet
Copy link
Member

@AlexLandau Thanks for taking the time to share this. Will definitely have a look!

@abcfy2
Copy link

abcfy2 commented Nov 24, 2021

Seem issue when using micronaut 3.2.0 with gradle wrapper 7.2.

./gradlew dependencies
...
          +--- software.amazon.awssdk:utils:2.16.65 (*)
          +--- software.amazon.awssdk:aws-core:2.16.65 (*)
          +--- software.amazon.awssdk:metrics-spi:2.16.65 (*)
          +--- software.amazon.awssdk:apache-client:2.16.65 (*)
          \--- software.amazon.awssdk:netty-nio-client:2.16.65 (*)

nativeImageCompileOnly (n)
\--- project backend (n)

nativeImageTestClasspath
:backend:dependencies (Thread[Execution worker for ':' Thread 5,5,main]) completed. Took 0.58 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':backend:dependencies'.
> Could not resolve all dependencies for configuration ':backend:nativeImageTestClasspath'.
   > Problems reading data from Binary store in /home/fengyu/.gradle/.tmp/gradle3857053052571586601.bin offset 78382 exists? true

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s
1 actionable task: 1 executed
Some of the file system contents retained in the virtual file system are on file systems that Gradle doesn't support watching. The relevant state was discarded to ensure changes to these locations are properly detected. You can override this by explicitly enabling file system watching.
Watching 0 directories to track changes
...

I try to add --scan, here is the output:

./gradlew dependencies --scan
...
nativeImageCompileOnly (n)
\--- project backend (n)

nativeImageTestClasspath

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':backend:dependencies'.
> Could not resolve all dependencies for configuration ':backend:nativeImageTestClasspath'.
   > Problems reading data from Binary store in /home/fengyu/.gradle/.tmp/gradle3394195912064749974.bin offset 78382 exists? true

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 13s
1 actionable task: 1 executed

A build scan cannot be produced as an error occurred gathering build data.
Please report this problem via https://gradle.com/help/plugin and include the following via copy/paste:

----------
Gradle version: 7.2
Plugin version: 3.6.3

org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':backend:nativeImageTestClasspath'.
        at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver.java:105)
        at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolutionResult.getRoot(ErrorHandlingConfigurationResolver.java:212)
        at org.gradle.api.internal.artifacts.configurations.ResolveConfigurationResolutionBuildOperationResult.getRootComponent(ResolveConfigurationResolutionBuildOperationResult.java:59)
        at com.gradle.scan.plugin.internal.b.f.a.h$a.b(SourceFile:113)
        at com.gradle.scan.plugin.internal.b.f.a.h$a.a(SourceFile:66)
        at com.gradle.scan.plugin.internal.b.f.a.h.a(SourceFile:47)
        at com.gradle.scan.plugin.internal.b.f.a.g.a(SourceFile:147)
        at com.gradle.scan.plugin.internal.b.f.c.a(SourceFile:137)
        at <unknown class>.finished(Unknown Source)
        at com.gradle.scan.plugin.internal.l.a.f.a(SourceFile:12)
        at <unknown class>.finished(Unknown Source)
        at com.gradle.scan.plugin.internal.l.a$c.finished(SourceFile:154)
        at com.gradle.scan.plugin.internal.l.a.a(SourceFile:65)
        at com.gradle.scan.plugin.internal.l.l.a(SourceFile:58)
        at com.gradle.scan.plugin.internal.l.c.a(SourceFile:98)
        at com.gradle.scan.plugin.internal.l.g.a(SourceFile:51)
        at <unknown class>.accept(Unknown Source)
        at com.gradle.scan.plugin.internal.q.a$a.a(SourceFile:31)
        at com.gradle.scan.plugin.internal.q.a$a.a(SourceFile:20)
        at com.gradle.scan.plugin.internal.q.a.c(SourceFile:67)
        at <unknown class>.run(Unknown Source)
Caused by: java.lang.RuntimeException: Problems reading data from Binary store in /home/fengyu/.gradle/.tmp/gradle3394195912064749974.bin offset 78382 exists? true
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:132)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.lambda$create$0(StreamingResolutionResultBuilder.java:189)
        at <unknown class>.create(Unknown Source)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory$SimpleStore.load(CachedStoreFactory.java:101)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.create(StreamingResolutionResultBuilder.java:187)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.create(StreamingResolutionResultBuilder.java:159)
        at org.gradle.api.internal.artifacts.result.DefaultResolutionResult.getRoot(DefaultResolutionResult.java:48)
        at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolutionResult.getRoot(ErrorHandlingConfigurationResolver.java:210)
        at org.gradle.api.internal.artifacts.configurations.ResolveConfigurationResolutionBuildOperationResult.getRootComponent(ResolveConfigurationResolutionBuildOperationResult.java:59)
        at com.gradle.scan.plugin.internal.b.f.a.h$a.b(SourceFile:113)
        at com.gradle.scan.plugin.internal.b.f.a.h$a.a(SourceFile:66)
        at com.gradle.scan.plugin.internal.b.f.a.h.a(SourceFile:47)
        at com.gradle.scan.plugin.internal.b.f.a.g.a(SourceFile:147)
        at com.gradle.scan.plugin.internal.b.f.c.a(SourceFile:137)
        at <unknown class>.finished(Unknown Source)
        at com.gradle.scan.plugin.internal.l.a.f.a(SourceFile:12)
        at <unknown class>.finished(Unknown Source)
        at com.gradle.scan.plugin.internal.l.a$c.finished(SourceFile:154)
        at com.gradle.scan.plugin.internal.l.a.a(SourceFile:65)
        at com.gradle.scan.plugin.internal.l.l.a(SourceFile:58)
        at com.gradle.scan.plugin.internal.l.c.a(SourceFile:98)
        at com.gradle.scan.plugin.internal.l.g.a(SourceFile:51)
        at <unknown class>.accept(Unknown Source)
        at com.gradle.scan.plugin.internal.q.a$a.a(SourceFile:31)
        at com.gradle.scan.plugin.internal.q.a$a.a(SourceFile:20)
        at com.gradle.scan.plugin.internal.q.a.c(SourceFile:67)
        at <unknown class>.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Corrupt serialized resolution result. Cannot find selected module (401) for constraint runtimeElements -> io.netty:netty-transport-native-epoll:4.1.70.Final
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.DefaultResolutionResultBuilder.visitOutgoingEdges(DefaultResolutionResultBuilder.java:83)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.deserialize(StreamingResolutionResultBuilder.java:239)
        at <unknown class>.read(Unknown Source)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:130)
        ... 26 more

java.lang.NullPointerException
        at com.gradle.scan.plugin.internal.i.a.b(SourceFile:94)
        at com.gradle.scan.plugin.internal.b.t.b.a(SourceFile:74)
        at com.gradle.scan.plugin.internal.b.t.b.a(SourceFile:47)
        at com.gradle.scan.plugin.internal.b.h.a.a(SourceFile:92)
        at com.gradle.scan.plugin.internal.b.h.a.f(SourceFile:79)
        at com.gradle.scan.plugin.internal.b.h.a.a(SourceFile:41)
        at com.gradle.scan.plugin.internal.b.c.a(SourceFile:50)
        at com.gradle.scan.plugin.internal.o.d.a(SourceFile:51)
        at <unknown class>.run(Unknown Source)
        at com.gradle.scan.plugin.internal.q.a.b(SourceFile:111)
        at com.gradle.scan.plugin.internal.o.d.a(SourceFile:50)
        at com.gradle.scan.plugin.internal.o.b.a(SourceFile:23)
        at <unknown class>.buildFinished(Unknown Source)
        at org.gradle.internal.enterprise.impl.DefaultGradleEnterprisePluginAdapter.buildFinished(DefaultGradleEnterprisePluginAdapter.java:77)
        at org.gradle.internal.enterprise.core.GradleEnterprisePluginManager.buildFinished(GradleEnterprisePluginManager.java:76)
        at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:46)
        at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
        at <unknown class>.apply(Unknown Source)
        at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:154)
        at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
        at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
        at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:56)
        at <unknown class>.apply(Unknown Source)
        at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
        at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:56)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
        at <unknown class>.apply(Unknown Source)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
        at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:38)
        at <unknown class>.create(Unknown Source)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:211)
        at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:38)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:103)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
        at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
        at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.lambda$execute$0(BuildSessionLifecycleBuildActionExecuter.java:56)
        at <unknown class>.apply(Unknown Source)
        at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
        at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:55)
        at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:37)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:63)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:58)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
        at org.gradle.util.internal.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:50)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
----------

@ljacomet ljacomet self-assigned this Nov 26, 2021
ljacomet added a commit that referenced this issue Dec 8, 2021
When a node is part of a capability conflict, it should never be
selected as this will happen when the conflict itself is resolved.
This invariant is now enforced by making sure we never select a node
that is conflicted.

Fixes #18494
@ljacomet ljacomet added this to the 7.4 RC1 milestone Dec 9, 2021
@big-guy big-guy added the @core Issue owned by GBT Core label Dec 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:bug @core Issue owned by GBT Core in:dependency-resolution engine metadata
Projects
None yet
Development

No branches or pull requests

7 participants