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: regtest timeouts on openbsd builders #42789

Closed
findleyr opened this issue Nov 23, 2020 · 6 comments
Closed

x/tools/gopls: regtest timeouts on openbsd builders #42789

findleyr opened this issue Nov 23, 2020 · 6 comments
Labels
FrozenDueToAge 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.

Comments

@findleyr
Copy link
Contributor

Recently, the gopls regtests (golang.org/x/tools/gopls/regtest) have started timing out on openbsd builders with troubling frequency. For example https://storage.googleapis.com/go-build-log/48a1a518/openbsd-amd64-64_32e2acff.log

This didn't seem like a slow uptick in timeout frequency, so might not simply be an artifact of us bumping up against a threshold.

This needs investigation to determine if it is a regression. If it is not, we can move the openbsd regtests to slowbots.

CC @stamblerre @heschik

@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 Nov 23, 2020
@gopherbot gopherbot added this to the Unreleased milestone Nov 23, 2020
@findleyr findleyr self-assigned this Nov 23, 2020
@gopherbot
Copy link

Change https://golang.org/cl/272687 mentions this issue: gopls/internal/regtest: skip regtests for openbsd-amd64-64 on TryBots

gopherbot pushed a commit to golang/tools that referenced this issue Nov 24, 2020
This build is suddenly timing out with high frequency. This requires
investigation, but for now we must get builds passing again.

For golang/go#42789

Change-Id: I51dc5eab227cfb77cd3021438f1b161b21f69caf
Reviewed-on: https://go-review.googlesource.com/c/tools/+/272687
Run-TryBot: Robert Findley <rfindley@google.com>
Trust: Robert Findley <rfindley@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
@stamblerre stamblerre added the Testing An issue that has been verified to require only test changes, not just a test failure. label Nov 24, 2020
@stamblerre stamblerre added this to Needs Triage in vscode-go: gopls by default Nov 24, 2020
@stamblerre stamblerre moved this from Needs Triage to Testing in vscode-go: gopls by default Nov 25, 2020
@findleyr
Copy link
Contributor Author

While bisecting this using gomote I found a few minor regressions in gopls, but also found that the test times out at even old gopls commits using go tip, and yet completes in ~300s (half the test timeout of 10m) using go1.15.5.

So this may be a regression in the go command, at least the way gopls uses it.

@gopherbot
Copy link

Change https://golang.org/cl/280092 mentions this issue: gopls/internal/regtest: skip a some new builders where regtests time out

gopherbot pushed a commit to golang/tools that referenced this issue Dec 23, 2020
Updates golang/go#42789
Updates golang/go#43355

Change-Id: Ic344237e492b08c30c4d86db6a6a39a561e2d27b
Reviewed-on: https://go-review.googlesource.com/c/tools/+/280092
Run-TryBot: Robert Findley <rfindley@google.com>
Trust: Robert Findley <rfindley@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
@stamblerre stamblerre removed this from Testing in vscode-go: gopls by default Jan 20, 2021
@gopherbot
Copy link

Change https://golang.org/cl/287572 mentions this issue: gopls/internal/regtest: split regtests up into multiple packages

gopherbot pushed a commit to golang/tools that referenced this issue Jan 28, 2021
Regtests have gotten large, and started timing out on some slow
builders. They also can't yet be run in parallel, due to some
process-level shared state (e.g. gc_details). Furthermore, there seems
to be some per-process resource leak that we don't yet fully understand
causing slowdown as the tests progress.

Address these problems by splitting the regtests up into multiple
packages. This also makes it easier to run only relevant tests during
development.

For golang/go#42789
For golang/go#39384

Change-Id: I1a74e4c379f3a650f4c434db44f9368e527aa459
Reviewed-on: https://go-review.googlesource.com/c/tools/+/287572
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
@gopherbot
Copy link

Change https://golang.org/cl/289692 mentions this issue: gopls/internal/regtest: only run in 'singleton' mode on certain GOOS

gopherbot pushed a commit to golang/tools that referenced this issue Feb 4, 2021
The gopls regtests have highly variable performance on certain operating
systems, we believe due to kernel contention. Flakes are a problem, and
it's better to have coverage of our default execution mode than no
coverage at all.

For golang/go#44099
For golang/go#42789

Change-Id: Ie9f3f93bb950930401aac3ce55cdffb889d0f0e1
Reviewed-on: https://go-review.googlesource.com/c/tools/+/289692
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 added this to To Do in gopls on-deck Feb 28, 2021
@findleyr findleyr assigned findleyr and unassigned findleyr Apr 26, 2021
@findleyr
Copy link
Contributor Author

findleyr commented Jul 8, 2021

This seems to be resolved now.

@findleyr findleyr closed this as completed Jul 8, 2021
gopls on-deck automation moved this from To Do to Done Jul 8, 2021
@stamblerre stamblerre removed this from the gopls/v1.0.0 milestone Jul 8, 2021
@golang golang locked and limited conversation to collaborators Jun 23, 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. 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
No open projects
Development

No branches or pull requests

3 participants