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: Timer buckets may get "stuck" for long periods of time after Windows 8/10 systems wake from sleep [1.12 backport] #36376

Closed
dmitshur opened this issue Jan 3, 2020 · 3 comments

Comments

@dmitshur
Copy link
Member

@dmitshur dmitshur commented Jan 3, 2020

Issue #31528 should be considered for backport to the next 1.12 minor release.

@dmitshur dmitshur added this to the Go1.12.15 milestone Jan 3, 2020
@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Jan 3, 2020

Change https://golang.org/cl/213197 mentions this issue: [release-branch.go1.12] runtime: monitor for suspend/resume to kick timeouts

@dmitshur

This comment has been minimized.

Copy link
Member Author

@dmitshur dmitshur commented Jan 3, 2020

Approving because this is a serious issue without a viable workaround. We've approved this backport earlier for 1.13 in issue #34130, and applying the same fix to 1.12 improves the equality of support for the last two releases, as discussed in #34536.

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Jan 3, 2020

Closed by merging 93f0599 to release-branch.go1.12.

@gopherbot gopherbot closed this Jan 3, 2020
gopherbot pushed a commit that referenced this issue Jan 3, 2020
…imeouts

Starting in Windows 8, the wait functions don't take into account
suspend time, even though the monotonic counters do. This results in
timer buckets stalling on resume. Therefore, this commit makes it so
that on resume, we return from the wait functions and recalculate the
amount of time left to wait.

This is a cherry pick of CL 191957 and its cleanup, CL 198417.

Updates #31528
Fixes #36376

Change-Id: I0db02cc72188cb620954e87a0180e0a3c83f4a56
Reviewed-on: https://go-review.googlesource.com/c/go/+/193607
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/213197
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.