-
Notifications
You must be signed in to change notification settings - Fork 121
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
Unexpected zinc cache invalidation after sbt remote cache hit #966
Comments
I have compared the relevant part of I still don't understand why though. Could it be related to https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/java.base/share/classes/java/lang/Object.java#L557 ? A classpath change between 1614849670371 & 1614849586071 that would either expose the annotation or not? The same JDK was used for both compilations. The fact that the - internal {
+ external {
key: "tv.teads.domains.advertiser.commands.ConnectTransactor"
value {
- compilationTimestamp: 1614849670371
+ compilationTimestamp: 1614849586071
name: "tv.teads.domains.advertiser.commands.ConnectTransactor"
api {
classApi {
name: "tv.teads.domains.advertiser.commands.ConnectTransactor"
access {
public {
}
}
modifiers {
flags: 1
}
selfType {
emptyType {
}
}
structure {
parents {
projection {
id: "Object"
prefix {
singleton {
path {
components {
id {
id: "java"
}
}
components {
id {
id: "lang"
}
}
components {
this {
}
}
}
}
}
}
}
parents {
projection {
id: "Any"
prefix {
singleton {
path {
components {
id {
id: "scala"
}
}
components {
this {
}
}
}
}
}
}
}
}
savedAnnotations: "scala.native"
savedAnnotations: "jdk.internal.HotSpotIntrinsicCandidate"
topLevel: true
}
objectApi {
name: "tv.teads.domains.advertiser.commands.ConnectTransactor"
access {
public {
}
}
modifiers {
}
definitionType: MODULE
selfType {
emptyType {
}
}
structure {
}
topLevel: true
}
}
- apiHash: 176768709
+ apiHash: -488308903
nameHashes {
name: "notify"
hash: 1514289040
}
nameHashes {
name: "wait"
hash: 1963066972
}
nameHashes {
name: "equals"
hash: 1626438048
}
nameHashes {
name: "asInstanceOf"
hash: -2008440760
}
nameHashes {
name: "synchronized"
hash: 1581358093
}
nameHashes {
name: "notifyAll"
hash: 287659096
}
nameHashes {
name: "isInstanceOf"
hash: -42141924
}
nameHashes {
name: "ConnectTransactor"
hash: 1351354997
}
nameHashes {
name: "=="
hash: 1290070777
}
nameHashes {
name: "clone"
hash: -1872329449
}
nameHashes {
name: "toString"
hash: -799817619
}
nameHashes {
name: "!="
hash: -1478124343
}
nameHashes {
name: "getClass"
hash: 1196203508
}
nameHashes {
name: "ne"
hash: -1383471943
}
nameHashes {
name: "eq"
hash: -491545741
}
nameHashes {
name: "##"
hash: 1393487132
}
nameHashes {
name: "finalize"
- hash: -245298853
+ hash: 1383774555
}
nameHashes {
name: "hashCode"
hash: -2114247454
}
- extraHash: 176768709
+ extraHash: -488308903
}
} |
steps
Unfortunately, I haven't been able to extract a repro for this, as this issue is transient (but consistent for a given remote cache artifact). I decided to open a ticket to start adding information along my investigation to see if I can find a pattern.
Context
problem
Zinc runs incrementally after a remote cache artifact hit on
IntegrationTest
, detecting a change in an untouched marker traittrait ConnectTransactor
defined inCompile
(on which Zinc had a cache hit after pulling the remote cache).expectation
Zinc cache hit - "No changes"
notes
Here are
incOptions.value.withApiDebug(true)
logs:I have tried to diff the text format representation of
inc_compile.bin
forCompile
&IntegrationTest
before and after the recompilation, but I haven't found anything interesting (the diff is hard to read as order changes). I am not including it here as it's massive, but happy to provide extracts.The text was updated successfully, but these errors were encountered: