-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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/cmd/fiximports: frequent TestDryRun and TestFixImports timeouts on plan9-arm since 2021-11-12 #50775
Comments
Change https://golang.org/cl/380495 mentions this issue: |
For golang/go#50775. Change-Id: I229263c840f406926b1f7c91de2400d4a18f3e16 Reviewed-on: https://go-review.googlesource.com/c/tools/+/380495 Trust: Bryan Mills <bcmills@google.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
I've been running TestDryRun in a loop on the least powerful of the current plan9-arm builders (Pi 3B+ with 1GB RAM). It takes about 21 seconds each time. Running the whole fiximports.test is about 145 seconds. So whatever's causing the timeout is not very repeatable. Needs investigation. |
I can't replicate this by running the fiximports test on its own - it never takes more than 25 seconds. The problem must be an interaction with other tests being run in parallel.
The symptom may be a timeout in fiximports, but I think the underlying problem is a deadlock somewhere else. |
A bit more information. In the above test, the reason guru.test was taking so long was that I hadn't used the Unfortunately that doesn't get any closer to explaining why fiximports.test is timing out on the builder. |
Ooh, that's a very useful observation for #26562!
To my knowledge there are no other OSs supported by Go that lack symlinks entirely. (Windows has supported them since Vista, and in Windows 10 they don't even require elevated privileges as of build 14972.) If you'd like to send a CL for plan9, I'd be happy to review it when the tree opens for Go 1.19. I think it should be as simple as adding |
Change https://go.dev/cl/398817 mentions this issue: |
For golang/go#50775. Change-Id: Ia7d99e9e7b007af3fa35332f0385949867e975eb Reviewed-on: https://go-review.googlesource.com/c/tools/+/398817 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> Reviewed-by: Suzy Mueller <suzmue@golang.org>
Change https://go.dev/cl/404954 mentions this issue: |
Plan 9 doesn't have symbolic links, so EvalSymlinks can be simplified just to check validity of the path and call Clean. This saves a lot of redundant file system activity. Updates #50775 Change-Id: I84c24ef1d5e6e38fd19df2d37c72fbf883f0140d Reviewed-on: https://go-review.googlesource.com/c/go/+/404954 Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: David du Colombier <0intro@gmail.com>
greplogs --dashboard -md -l -e 'panic: test timed out.*\n(?:.*\n)*golang\.org/x/tools/cmd/fiximports\.TestDryRun' --since=2021-01-01
2022-01-21T16:59:19-9f83dd3-9eba5ff/plan9-arm
2022-01-19T14:58:28-a8c7459-2a061fd/plan9-arm
2022-01-18T14:56:19-f29bdf1-5b3ebc8/plan9-arm
2022-01-14T21:54:39-f29bdf1-3b5eec9/plan9-arm
2022-01-13T18:06:33-68b574a-4fa6e33/plan9-arm
2022-01-13T17:30:17-68b574a-2423912/plan9-arm
2022-01-11T17:13:50-d7a4bb4-1abe9c1/plan9-arm
2022-01-11T14:03:54-d7a4bb4-90a8482/plan9-arm
2022-01-10T19:19:50-f234b3d-933f668/plan9-arm
2022-01-04T22:05:15-15409b5-e39ab9b/plan9-arm
2021-12-28T19:10:34-2c49d4f-b357b05/plan9-arm
2021-12-16T22:41:31-8d38310-1387b5e/plan9-arm
2021-12-16T21:08:09-8d38310-ae695cd/plan9-arm
2021-12-10T19:26:50-27fc764-766f89b/plan9-arm
2021-12-09T15:47:16-27fc764-61ba0bc/plan9-arm
2021-12-08T23:00:01-3fca6a0-f5ddd94/plan9-arm
2021-12-07T00:03:34-feb39d0-79b425e/plan9-arm
2021-12-06T17:34:53-feb39d0-2cb9042/plan9-arm
2021-12-06T16:11:25-feb39d0-f8a8a73/plan9-arm
2021-12-04T11:59:35-c882a49-1876b38/plan9-arm
2021-12-03T16:24:32-e212aff-29483b3/plan9-arm
2021-12-03T14:28:11-e212aff-a174638/plan9-arm
2021-12-02T23:34:26-e212aff-5f65520/plan9-arm
2021-12-01T19:09:57-d99d6fa-0103fd2/plan9-arm
2021-12-01T18:47:44-3c63f30-08ecdf7/plan9-arm
2021-12-01T15:58:46-615f9a6-029dfbc/plan9-arm
2021-12-01T15:05:46-615f9a6-0e1d553/plan9-arm
2021-11-30T18:49:39-2c9b078-5f63f16/plan9-arm
2021-11-30T18:09:02-2c9b078-931d80e/plan9-arm
2021-11-29T22:57:42-6e52f51-3ca57c7/plan9-arm
2021-11-29T20:12:13-6e52f51-f598e29/plan9-arm
2021-11-29T16:08:23-a618923-a59ab29/plan9-arm
2021-11-22T23:51:43-c2c92fd-83bfed9/plan9-arm
2021-11-22T21:22:40-c2c92fd-f13fcd9/plan9-arm
2021-11-22T16:53:57-d0c7211-cd0bf38/plan9-arm
2021-11-19T22:35:28-d0c7211-b31dda8/plan9-arm
2021-11-18T16:18:50-43b469a-feb330d/plan9-arm
2021-11-17T21:26:25-43b469a-0440fb8/plan9-arm
2021-11-17T19:51:32-43b469a-9a33945/plan9-arm
2021-11-17T19:16:04-43b469a-0981724/plan9-arm
2021-11-17T17:03:06-7d6c71f-4083a6f/plan9-arm
2021-11-16T14:26:19-1a3081d-bddb79f/plan9-arm
2021-11-15T15:42:24-49ce184-ce4a275/plan9-arm
2021-11-14T17:38:42-49ce184-5337e53/plan9-arm
2021-11-12T20:20:57-fda06c1-76fbd61/plan9-arm
I assume that this has something to do with filesystem performance, but the difference is several orders of magnitude. This test runs in about 500ms on my Linux workstation, and it's timing out after 10 minutes on
plan9-arm
. 😅(CC @millerresearch)
The text was updated successfully, but these errors were encountered: