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: revert Linux signal stack mlock workaround #35979

Closed
aclements opened this issue Dec 5, 2019 · 4 comments
Closed

runtime: revert Linux signal stack mlock workaround #35979

aclements opened this issue Dec 5, 2019 · 4 comments
Labels
early-in-cycle A change that should be done early in the 3 month dev cycle. FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@aclements
Copy link
Member

For Go 1.14, we worked around a Linux kernel bug that caused vector register corruption on return from the signal handler (#35777, kernel bug).

The workaround is non-trivial and impossible to do 100% correctly from user space. Also, the affected Linux kernel releases are unlikely to be in the wild by the Go 1.15 release. Hence, I propose that we revert CLs 209597 and 209899 for Go 1.15.

The bug was introduced in Linux 5.2, though generally wasn't visible until Linux 5.3 because it also required GCC 9, which Linux 5.2's default configuration was incompatible with. It was fixed in Linux 5.3.15 and 5.4.2, and the fix will appear in all 5.5 and future releases. 5.4 is a long-term support release, and 5.4.2 was released with the fix just 10 days after 5.4, so by Go 1.15, stable distributions will have the patched kernel, and unstable distributions will have long since moved on to more recent kernels.

@aclements aclements added the NeedsFix The path to resolution is known, but the work has not been done. label Dec 5, 2019
@aclements aclements added this to the Go1.15 milestone Dec 5, 2019
@ianlancetaylor
Copy link
Contributor

We should have done this before the beta. I'm going to move the milestone to 1.16. Let's try to do this early in the cycle. Please comment if you disagree.

@ianlancetaylor ianlancetaylor modified the milestones: Go1.15, Go1.16 Jun 15, 2020
@ianlancetaylor ianlancetaylor added the early-in-cycle A change that should be done early in the 3 month dev cycle. label Jun 15, 2020
@gopherbot
Copy link

Change https://golang.org/cl/246200 mentions this issue: runtime: revert signal stack mlocking

@dmitshur
Copy link
Contributor

This issue is currently labeled as early-in-cycle for Go 1.16.
That time is now, so this is a friendly ping so the issue is looked at again.

@gopherbot
Copy link

Change https://golang.org/cl/251757 mentions this issue: runtime: remove remnants of signal stack workaround

gopherbot pushed a commit that referenced this issue Sep 1, 2020
Updates #35979

Change-Id: Ic3a6e1b5e9d544979a3c8d909a36a55efa3b9c9d
Reviewed-on: https://go-review.googlesource.com/c/go/+/251757
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
@golang golang locked and limited conversation to collaborators Sep 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
early-in-cycle A change that should be done early in the 3 month dev cycle. FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

4 participants