-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
cmd/go: failures in TestScript/cover_statements due to unexpected linker invocations #64014
Comments
This comment was marked as resolved.
This comment was marked as resolved.
Found new dashboard test flakes for:
2023-10-05 08:26 linux-386-longtest go@bc150700 cmd/go.TestScript (log)
2023-10-09 22:19 linux-386-longtest go@fce6be15 cmd/go.TestScript (log)
2023-10-17 20:36 linux-386-longtest go@ab2e3ce7 cmd/go.TestScript (log)
2023-10-18 14:06 linux-386-longtest go@7ee99801 cmd/go.TestScript (log)
2023-10-31 17:13 linux-arm64-longtest go@cbc403af cmd/go.TestScript (log)
2023-11-08 17:51 windows-amd64-longtest go@eebeca80 cmd/go.TestScript (log)
2023-11-08 17:55 linux-amd64-longtest-race go@5cb0839e cmd/go.TestScript (log)
|
(attn @thanm) |
Seems pretty clear from the failing logs that for some reason the Go command decided that the the cache entry was stale and the action needed to be redone... which is a puzzle to me: seems like all the action inputs should be deterministic. Not sure how we could have flakiness in such a situation. |
Hmm. I wonder if this is related to #49267? |
That does look related, thanks |
Found new dashboard test flakes for:
2023-11-10 16:18 windows-amd64-longtest go@abf84221 cmd/go.TestScript (log)
|
Found new dashboard test flakes for:
2023-11-15 14:26 linux-amd64-longtest go@15fa7a84 cmd/go.TestScript (log)
|
Found new dashboard test flakes for:
2023-11-16 20:37 linux-arm64-longtest go@a95c5d37 cmd/go.TestScript (log)
|
Found new dashboard test flakes for:
2023-11-21 18:57 linux-amd64-longtest-race go@4bfed5ce cmd/go.TestScript (log)
|
Found new dashboard test flakes for:
2023-11-21 21:29 linux-arm64-longtest go@4e3ac99a cmd/go.TestScript (log)
|
It looks like I can reproduce the problem with this script: I still don't have a good idea as to why caching fails in the first place, however. I think given that the test is sensitive to caching behavior and cache invalidation, it is probably a good idea to run the test with its own local cache. I will send a CL for that. |
Change https://go.dev/cl/545235 mentions this issue: |
Use a test-local directory for GOCACHE in "cover_statements" script test, as a workaround for issue 64014. For the portion of this test that verifies that caching works correctly, the cache should theoretically always behave reliably/deterministically, however if other tests are concurrently accessing the cache while this test is running, it can lead to cache lookup failures, which manifest as a flaky failure. To avoid such flakes, use a separate isolated GOCACHE for this test. For #64014. Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest Change-Id: Ia66798215a75b7c41188ed15920c17b73f40152a Reviewed-on: https://go-review.googlesource.com/c/go/+/545235 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Bryan Mills <[email protected]>
https://go.dev/cl/545235 should in theory fix this bug. Leaving open for now just in case there is more than one underlying problem. |
CL 545235 should stop the failures, but it doesn't fix the underlying caching bug. I think we should leave this open until/unless that bug is understood (or we have reason to believe it may have been fixed). |
Indeed. And it's probably useful to have a way to locally reproduce the caching bug (by reverting this change and then using the script from #64014 (comment) |
Use a test-local directory for GOCACHE in "cover_statements" script test, as a workaround for issue 64014. For the portion of this test that verifies that caching works correctly, the cache should theoretically always behave reliably/deterministically, however if other tests are concurrently accessing the cache while this test is running, it can lead to cache lookup failures, which manifest as a flaky failure. To avoid such flakes, use a separate isolated GOCACHE for this test. For golang#64014. Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest Change-Id: Ia66798215a75b7c41188ed15920c17b73f40152a Reviewed-on: https://go-review.googlesource.com/c/go/+/545235 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Bryan Mills <[email protected]>
The text was updated successfully, but these errors were encountered: