-
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/build: OpenBSD 7.0 386 builder is slow #49666
Comments
#42699 makes a similar observation about TryBot stalls and retries. |
I said I'd do it and then disappeared in a puff of smoke for two weeks. Mailing now. |
Change https://golang.org/cl/382978 mentions this issue: |
Maybe there was more than one thing going on. OpenBSD 6.8 386 is clean, perhaps because of this change or perhaps not. 7.0, however, is still failing even after (I believe) the change has taken effect. See attached. It seems that |
I'm going to call this a release blocker until it's investigated. |
On a gomote the cgo_test takes 22 seconds to run. I don't think there is anything specific to cgo here. In the log attached above everything seems to be slow. I see things like
The log suggests that it takes 8.61 seconds to run the container/heap, container/list, and container/ring tests. But when reporting the actual test times, the total is 0.15 seconds. The latter time probably doesn't include the time that it takes to build the tests, but of course that shouldn't be very long either; on a gomote each takes about 1 second to build. I don't know what is going here but I don't think it's cgo related. CC @golang/release |
In #49343, @millerresearch noted that
Is it possible that that's what's going on here too? |
cc @4a6f656c |
Yes, although in this case the overhead seems to be about 8 seconds for each invocation of The overhead consists mainly of multiple unnecessary calls to The problem is magnified by the unnecessary partitioning of tests into separate invocations of |
Change https://go.dev/cl/384294 mentions this issue: |
Either 45 minutes wasn't enough, or these things are hanging forever. Give them even more time so we can figure out which. For golang/go#49666. Change-Id: Ia8da50f06d828d508226bf01a3d53e5790a648e6 Reviewed-on: https://go-review.googlesource.com/c/build/+/384294 Trust: Heschi Kreinick <[email protected]> Run-TryBot: Heschi Kreinick <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Carlos Amedee <[email protected]>
Builds are succeeding with a 60-minute timeout. Given the above hypothesis about expensive filesystem reads, this doesn't seem like a release blocker. |
Change https://go.dev/cl/406216 mentions this issue: |
We had a lot of flexibility over timeouts, making their maintenance harder. Consolidate it to a single timeout in the pool package, and modify it from 45 minutes to 2 hours. There's room for improvement in how we maintain this timeout, but I'm leaving that for future work (with a tracking issue). Fixes golang/go#52591. Updates golang/go#52929. Updates golang/go#49666. Updates golang/go#42699. Change-Id: I2ad92648d89a714397bd8b0e1ec490fc9f6d6790 Reviewed-on: https://go-review.googlesource.com/c/build/+/406216 Run-TryBot: Dmitri Shuralyov <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> Reviewed-by: Heschi Kreinick <[email protected]>
I am about 80% sure that the OpenBSD builders, both 6.8 and 7.0, are timing out running all.bash. We have a hard 30 minute limit on build VMs, and the OpenBSD builders take slightly longer than that to run all.bash from scratch. However, they write a snapshot of the distribution after it's built, and reusing that saves enough time for the build to succeed upon retry -- that's why the dashboard is relatively clean-looking.
This is wasteful. We should probably increase the timeout so that the build finishes, prevent the retry, or modify the OpenBSD tests somehow to run in a more reasonable amount of time.
cc @golang/release @4a6f656c
The text was updated successfully, but these errors were encountered: