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
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Jan 3, 2020

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

@dmitshur dmitshur added the CherryPickCandidate Used during the release process for point releases label Jan 3, 2020
@dmitshur dmitshur added this to the Go1.12.15 milestone Jan 3, 2020
@gopherbot
Copy link

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

@dmitshur
Copy link
Contributor Author

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.

@dmitshur dmitshur added CherryPickApproved Used during the release process for point releases and removed CherryPickCandidate Used during the release process for point releases labels Jan 3, 2020
@gopherbot
Copy link

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

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
@golang golang locked and limited conversation to collaborators Jan 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

2 participants