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

x/tools/gopls/internal/regtest: TestDeleteModule_Interdependent flakes due to orphaned file reloading #46375

Closed
findleyr opened this issue May 25, 2021 · 5 comments
Labels
gopls Issues related to the Go language server, gopls. Testing An issue that has been verified to require only test changes, not just a test failure. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@findleyr
Copy link
Contributor

Looking at regtest failures for issue #46183, one common source of flakes in slower builders is TestDeleteModule_Interdependent in golang.org/x/tools/gopls/internal/regtest/workspace.

For example:
https://build.golang.org/log/c962f4fbb5df4c74ebe76f8aeb610eed3065f267
https://storage.googleapis.com/go-build-log/8b462d75/freebsd-amd64-12_2_e126050b.log

This test failure appears to be a race related to orphaned file reloading. All failures have a log message about reloadOrphanedFiles, but when it succeeds locally I never see this log message.

Since it is an experimental feature, we should disable this test until we understand it.

CC @stamblerre @heschi

@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels May 25, 2021
@gopherbot gopherbot added this to the Unreleased milestone May 25, 2021
@gopherbot
Copy link

Change https://golang.org/cl/322649 mentions this issue: gopls/internal/regtest: skip TestDeleteModule_Interdependent

gopherbot pushed a commit to golang/tools that referenced this issue May 25, 2021
This test is flaky due to orphaned file reloading. Since it is for an
experimental feature, skip it until we understand the problem.

For golang/go#46375
Updates golang/go#46183

Change-Id: Id6b369f2b61730c8503e3532547708f7689343c3
Reviewed-on: https://go-review.googlesource.com/c/tools/+/322649
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
@stamblerre stamblerre modified the milestones: gopls/v0.7.0, gopls/v0.7.1 Jun 4, 2021
@stamblerre stamblerre modified the milestones: gopls/v0.7.1, gopls/v0.7.2 Jul 26, 2021
@stamblerre stamblerre modified the milestones: gopls/v0.7.2, gopls/on-deck Sep 9, 2021
@findleyr findleyr modified the milestones: gopls/v0.7.4, gopls/v0.7.5 Dec 14, 2021
@findleyr findleyr modified the milestones: gopls/v0.7.5, gopls/v0.8.0 Jan 4, 2022
@findleyr findleyr modified the milestones: gopls/v0.8.0, gopls/v0.8.1 Feb 15, 2022
@findleyr findleyr modified the milestones: gopls/v0.8.1, gopls/v0.8.2 Mar 7, 2022
@findleyr findleyr modified the milestones: gopls/v0.8.2, gopls/on-deck Mar 24, 2022
@findleyr findleyr added Testing An issue that has been verified to require only test changes, not just a test failure. and removed gopls/testing labels May 10, 2022
@gopherbot
Copy link

Change https://go.dev/cl/422910 mentions this issue: gopls/internal/regtest: unskip TestDeleteModule_Interdependent

gopherbot pushed a commit to golang/tools that referenced this issue Aug 15, 2022
Reloading has been significantly refactored recently. Unskip this test
to see if it flakes:
 - If it does not flake, that is a useful signal.
 - If it does flake, that is also a useful signal.

Notably, following CL 419500 we allow network when reloading the
workspace, and so do not need to apply quick-fixes in order to download
the new module from the proxy.

For golang/go#46375
For golang/go#53878

Change-Id: Idde7195730c32bdb434a26b28aac82649dd1b5ac
Reviewed-on: https://go-review.googlesource.com/c/tools/+/422910
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Peter Weinberger <pjw@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
@bcmills
Copy link
Contributor

bcmills commented Aug 22, 2022

greplogs -l -e 'FAIL: TestDeleteModule_Interdependent' --since=2022-07-14
2022-08-18T19:12:13-e55fb40-0eb56ca/openbsd-386-70

@findleyr
Copy link
Contributor Author

Unfortunately I no longer reproduce that greplogs result (we think because of a dashboard bug where there is a maximum number of go revisions per repo revision).

The new failure is different, and interesting. Somehow we're not getting a definition result after the deletion, suggesting some sort of race.

@findleyr
Copy link
Contributor Author

Seems to no longer be reproducing, and we've rewritten a lot of this logic.

Closing.

@findleyr findleyr modified the milestones: gopls/later, gopls/v0.12.0 May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gopls Issues related to the Go language server, gopls. Testing An issue that has been verified to require only test changes, not just a test failure. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

5 participants