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

runtime: TestMutexFairness failures after 120s on openbsd-arm64-jsing with -cpu=10 #53174

Closed
bcmills opened this issue Jun 1, 2022 · 3 comments
Labels
arch-arm64 OS-OpenBSD WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@bcmills
Copy link
Member

bcmills commented Jun 1, 2022

##### sync -cpu=10
--- FAIL: TestMutexFairness (119.29s)
    mutex_test.go:227: can't acquire Mutex in 10 seconds
FAIL
FAIL	sync	360.801s

greplogs -l -e 'FAIL: TestMutexFairness' --since=2022-02-01
2022-05-26T14:42:13-581a63c/openbsd-arm64-jsing
2022-05-18T00:45:20-1c6706c/openbsd-arm64-jsing

(attn @4a6f656c @golang/openbsd; CC @golang/runtime)

What seems especially odd to me is that the test took almost exactly two minutes to time out both times, even though it should be failing after only 10 seconds:
https://cs.opensource.google/go/go/+/master:src/sync/mutex_test.go;l=226;drc=645d07819b2224ba4d759829443f7c6442162c69

That suggests that either the main TestMutexFairness goroutine isn't being scheduled, or the runtime timer heap isn't being processed.

And in both cases the overall running time of the test is also almost an exact multiple of 120 seconds.

It looks to me like something is causing goroutine scheduling (or perhaps OS thread scheduling?) to wedge until some 2-minute watchdog timer fires. #52703 may be related.

@bcmills bcmills added this to the Backlog milestone Jun 1, 2022
@bcmills bcmills changed the title runtime: TestMutexFairness failures on openbsd-arm64-jsing with -cpu=10 runtime: TestMutexFairness failures after 120s on openbsd-arm64-jsing with -cpu=10 Jun 1, 2022
@4a6f656c
Copy link
Contributor

4a6f656c commented Jun 1, 2022

There appears to be a kevent related hang that can be triggered on OpenBSD 7.1 - I've applied a workaround (per #52703)

@4a6f656c
Copy link
Contributor

4a6f656c commented Jun 1, 2022

Also, FWIW the 120s timeout is likely coming from here:

https://build.golang.org/log/afeae56f967155165fedf1eb30224754ebb9b18a

@bcmills bcmills added WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. and removed WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. labels Jun 1, 2022
@gopherbot
Copy link

gopherbot commented Jun 2, 2022

Change https://go.dev/cl/410095 mentions this issue: dashboard: remove known issue for openbsd-arm64-jsing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm64 OS-OpenBSD WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

3 participants