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

BinaryStore Exception when using Spring Boot snapshots #13551

Closed
rpalcolea opened this issue Jun 22, 2020 · 0 comments
Closed

BinaryStore Exception when using Spring Boot snapshots #13551

rpalcolea opened this issue Jun 22, 2020 · 0 comments
Assignees
Milestone

Comments

@rpalcolea
Copy link
Contributor

rpalcolea commented Jun 22, 2020

Current Behavior

We had some reports of binary store exceptions in our internal spring distribution when trying snapshot/milestone dependencies.

This project has ~30 submodules and reproduce all the issues might be difficult because I'm seeing a few of the modules having binary store exceptions. What is interesting is that only happens in testCompileClasspath or testRuntimeClasspath, related to org.hamcrest:hamcrest-core:2.. It appears to be related to a platform rule per exception details:

Caused by: java.lang.IllegalStateException: Corrupt serialized resolution result. Cannot find selected module (149) for constraint platform-runtime -> org.hamcrest:hamcrest-core:2.2
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.DefaultResolutionResultBuilder.visitOutgoingEdges(DefaultResolutionResultBuilder.java:82)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.deserialize(StreamingResolutionResultBuilder.java:237)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:130)
        ... 199 more

I was able to isolate one of them in https://github.com/nebula-plugins/gradle-nebula-integration/tree/master/binary-store-issue-05142020.

If you clone the repo and execute ./gradlew :my-submodule:dependencies --configuration integTestRuntimeClasspath you should be able to see:

* What went wrong:
Execution failed for task ':my-submodule:dependencies'.
> Failed to notify dependency resolution listener.
   > Could not resolve all dependencies for configuration ':my-submodule:integTestRuntimeClasspathCopy'.
      > Problems reading data from Binary store in /private/var/folders/hb/c0ghc68d7vn26h4ny84kzv0r0000gn/T/gradle1676642303220288846.bin offset 12425 exists? true
   > Could not resolve all dependencies for configuration ':my-submodule:integTestRuntimeClasspathCopy'.
      > Problems reading data from Binary store in /private/var/folders/hb/c0ghc68d7vn26h4ny84kzv0r0000gn/T/gradle1676642303220288846.bin offset 12425 exists? true

Your Environment

Gradle 6.6-20200617074346+0000
Build scan URL: https://scans.gradle.com/s/7cxwbvnedtp6u

Operating systemOperating system of the build machine Mac OS X 10.15.3  
CPU cores 16 cores  
Max Gradle workers 16 workers  
Java runtime Azul OpenJDK Runtime Environment 1.8.0_242-b20  
Java VM Azul OpenJDK 64-Bit Server VM 25.242-b20 (mixed mode)  
Max JVM memory heap size 477 MB  
Locale English (United States)  
ljacomet added a commit that referenced this issue Jun 23, 2020
If a single node contains multiple constraints to the same target, they
must all be tracked for deselection / reselection.

Issue #13551
ljacomet added a commit that referenced this issue Jun 23, 2020
Prior to this fix the same dependency state could lead to duplicate
outgoing edges which would cause an issue when the node targeted was
removed because it was deselected.
The code now uses a datastructure that will perform the de duplication
and it no longer registers entries in some code paths.

Fixes #13551
@ljacomet ljacomet self-assigned this Jun 23, 2020
ljacomet added a commit that referenced this issue Jun 29, 2020
If a single node contains multiple constraints to the same target, they
must all be tracked for deselection / reselection.

Issue #13551
@ljacomet ljacomet added this to the 6.5.1 milestone Jun 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants