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/diagnostics: frequent timeouts on Windows starting 2022-06-08 #53371

Closed
bcmills opened this issue Jun 14, 2022 · 6 comments
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. OS-Windows Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented Jun 14, 2022

greplogs -l -e '#### End Gopls Test Logs for "TestEditGoDirectiveWorkspace.*"\npanic: test timed out after 10m0s' --since=2022-01-01
2022-06-09T19:31:37-1d19788-2cfbef4/windows-arm64-10
2022-06-09T15:15:48-1d19788-840e99e/windows-386-2008

See previously #52040, #51930 (CC @hyangah, @findleyr, @suzmue),

@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 Jun 14, 2022
@gopherbot gopherbot added this to the Unreleased milestone Jun 14, 2022
@bcmills bcmills changed the title x/tools/gopls: timeouts in TestEditGoDirectiveWorkspace x/tools/gopls: timeouts in or after TestEditGoDirectiveWorkspace Jun 14, 2022
@bcmills
Copy link
Contributor Author

bcmills commented Jun 14, 2022

Hrm, https://build.golang.org/log/1e581513fa4f6d26c7d333e4773e40781961c3d9 has a similar failurue mode but after a different test:

#### End Gopls Test Logs for "TestIssue44736/experimental"
panic: test timed out after 10m0s

@bcmills
Copy link
Contributor Author

bcmills commented Jun 14, 2022

greplogs -l -e '#### End Gopls Test Logs for ".*"\npanic: test timed out after ' --since=2022-05-01
2022-06-13T21:24:54-c15c045-c29be2d/windows-386-2008
2022-06-13T19:09:14-a41fc98-fbc75df/windows-arm64-10
2022-06-13T19:00:03-a41fc98-2c52465/windows-amd64-2016
2022-06-13T19:00:03-a41fc98-2c52465/windows-arm64-10
2022-06-10T19:31:37-83b0675-386245b/windows-arm64-10
2022-06-10T15:00:45-697795d-386245b/windows-arm64-10
2022-06-09T19:31:37-1d19788-2cfbef4/windows-arm64-10
2022-06-09T15:15:48-1d19788-840e99e/windows-386-2008
2022-06-09T15:15:48-1d19788-840e99e/windows-arm64-10
2022-06-08T21:00:49-6bfd3a4-1292176/linux-s390x-ibm
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-386-2008
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-amd64-2016
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-amd64-longtest
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-amd64-race
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-arm64-10
2022-06-08T20:41:37-6bfd3a4-1858ea5/windows-arm64-11
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-386-2008
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-amd64-2016
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-amd64-longtest
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-amd64-race
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-arm64-10
2022-06-08T19:41:54-6bfd3a4-bdde41e/windows-arm64-11
2022-06-08T17:11:00-6bfd3a4-432158b/windows-386-2008
2022-06-08T17:11:00-6bfd3a4-432158b/windows-amd64-2016
2022-06-08T17:11:00-6bfd3a4-432158b/windows-amd64-longtest
2022-06-08T17:11:00-6bfd3a4-432158b/windows-arm64-10
2022-06-08T17:11:00-6bfd3a4-432158b/windows-arm64-11
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-386-2008
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-amd64-2016
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-amd64-longtest
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-amd64-race
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-arm64-10
2022-06-08T16:53:29-6bfd3a4-899f0a2/windows-arm64-11
2022-05-19T21:15:04-904e24e-34507e8/netbsd-amd64-9_0
2022-05-17T03:26:28-814e0d7-41b9d8c/netbsd-386-9_0

@bcmills bcmills changed the title x/tools/gopls: timeouts in or after TestEditGoDirectiveWorkspace x/tools/gopls/internal/regtest/diagnostics: frequent timeouts starting 2022-06-08 Jun 14, 2022
@bcmills bcmills modified the milestones: Unreleased, gopls/v0.9.0 Jun 14, 2022
@bcmills bcmills changed the title x/tools/gopls/internal/regtest/diagnostics: frequent timeouts starting 2022-06-08 x/tools/gopls/internal/regtest/diagnostics: frequent timeouts on Windows starting 2022-06-08 Jun 14, 2022
@bcmills
Copy link
Contributor Author

bcmills commented Jun 14, 2022

Hmm, the timing on this failure mode lines up almost exactly with CL 410821 (CC @matloob).

The amd64 failures drop off after CL 411118, but for some reason the 386 and arm64 failures remain. 🤔

@bcmills
Copy link
Contributor Author

bcmills commented Jun 15, 2022

This may be the same root cause as #53269.

@gopherbot
Copy link

Change https://go.dev/cl/412394 mentions this issue: cmd/go/internal/modindex: disable indexing for modules outside GOROOT and the module cache

gopherbot pushed a commit that referenced this issue Jun 15, 2022
… and the module cache

Since CL 410821 we were indexing these modules with a cache key based
on the mtimes of the files within the module. However, that seems to
be causing test failures (#53269 and maybe #53371).

In addition, indexing these modules caused a potentially-expensive
operation (re-indexing a whole module) whenever any individual file
within the module is changed, even if it isn't relevant to the
package(s) being loaded from that module. In some cases, that could
cause a significant performance regression for 'go' commands invoked
on a small subset of the packages in the module (such as running 'go
test' on a single changed package — a common case during development).

Instead, we now index only those modules found within the module cache
and within GOROOT.

In addition, we now check mtimes when indexing GOROOT modules if the
Go version begins with the string "devel ", which indicates a
non-released Go version that may include local file edits within GOROOT.

For #53371.
For #53269.

Change-Id: Id3aa81b55ecfc478e47dd420148d39d2cf476f2d
Reviewed-on: https://go-review.googlesource.com/c/go/+/412394
Reviewed-by: Michael Matloob <matloob@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
@bcmills bcmills self-assigned this Jun 15, 2022
@bcmills bcmills closed this as completed Jun 16, 2022
@rsc rsc unassigned bcmills Jun 22, 2022
@golang golang locked and limited conversation to collaborators Jun 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. OS-Windows Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

2 participants