-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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: TestResolveImportCycle is flaky #46773
Comments
Ah, that explains the TryBot failure in https://storage.googleapis.com/go-build-log/011d0a8d/linux-amd64_e6bc22ff.log (CL 328231)! |
Change https://golang.org/cl/328369 mentions this issue: |
Also improve the description of the failing expectations. Updates golang/go#46773 Change-Id: I9465de8a5005bb7ee719a536f8550afc54bd6044 Reviewed-on: https://go-review.googlesource.com/c/tools/+/328369 Trust: Robert Findley <[email protected]> Run-TryBot: Robert Findley <[email protected]> gopls-CI: kokoro <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Rebecca Stambler <[email protected]>
A number of tests seem to fail with the error : In the mentioned logs : all tests that fail mention that some test took longer than 20s, which is the default context timeout for
When inspecting these tests individually (I ran
However I was able to trigger the error when running several times the tests in parallel :
it looks like, in some case, the runner started by haven't dug deeper yet |
@LeGEC thanks for looking into this. I suspect due to the flake frequency of this particular test that there is an underlying race in gopls itself -- haven't had time to look into it yet. Other regtest failures are simply due to resource contention on the builders. The gopls regtests spawn a lot of subprocesses and are very memory intensive, which affects various builders differently. I try to be conservative and disable, shard, or rewrite tests as soon as they prove to be flaky, but hesitate to disable the regtests entirely when run with Are you just looking into this to help out, or are the regtests causing you problems in some way? Either way, thanks again. |
@findleyr : I was picking some issues just as a way to start looking into These tests do not cause specific issues on my side. |
Change https://golang.org/cl/333289 mentions this issue: |
It appears the failure mode fixed by CL 333289 is not the only one. Sample: |
Change https://golang.org/cl/333510 mentions this issue: |
CL 333289 introduced a panic, which was subsequently suppressed in test error output due to the deferred t.Fatal (an interesting gotcha that I honestly wasn't aware of). Fix both the panic, and the suppression of regtest panics. Also fix the regtest editor shutdown to run on a detached context, so that shutdown doesn't fail for tests that have timed out. For golang/go#46773 Change-Id: I080a713ae4cd4651476d8b4aab1d2291754a4f5a Reviewed-on: https://go-review.googlesource.com/c/tools/+/333510 Trust: Robert Findley <[email protected]> Run-TryBot: Robert Findley <[email protected]> gopls-CI: kokoro <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Rebecca Stambler <[email protected]>
No failures since July 9th (when the above CL was submitted). Closing. |
This test was added newly in https://golang.org/cl/326589, and appears to be flaky.
Sample failure:
https://build.golang.org/log/1919547c028c2fd16c892afb37ab336de61675ae
It may be that the fix for import cycle resolution is racy.
The text was updated successfully, but these errors were encountered: