-
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
runtime: sometimes 100% CPU spin during init phase in Go 1.14 with preemptive scheduler [1.14 backport] #37833
Comments
This issue causes binaries on Darwin (and possibly other OSes) to randomly hang, particularly on startup. |
Change https://golang.org/cl/223939 mentions this issue: |
Approved. As this is a serious issue without any workaround. |
Closed by merging e577ba9 to release-branch.go1.14. |
…e is a signal pending If multiple threads call preemptone to preempt the same M, it may send many signals to the same M such that it hardly make progress, causing live-lock problem. Only send a signal if there isn't already one pending. Updates #37741. Fixes #37833. Change-Id: Id94adb0b95acbd18b23abe637a8dcd81ab41b452 Reviewed-on: https://go-review.googlesource.com/c/go/+/223737 Run-TryBot: Cherry Zhang <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Keith Randall <[email protected]> (cherry picked from commit 0c0e8f2) Reviewed-on: https://go-review.googlesource.com/c/go/+/223939 Reviewed-by: Austin Clements <[email protected]>
@randall77 And others, thank you very much!! I still encounter this issue dozens of times per day so needless to say I am thrilled it was made a priority and I can't wait for the Go 1.14.1 release! |
@randall77 requested issue #37741 to be considered for backport to the next 1.14 minor release.
The text was updated successfully, but these errors were encountered: