Skip to content

runtime: revert Linux signal stack mlock workaround #35979

Closed
@aclements

Description

@aclements

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.

Activity

added
NeedsFixThe path to resolution is known, but the work has not been done.
on Dec 5, 2019
added this to the Go1.15 milestone on Dec 5, 2019
ianlancetaylor

ianlancetaylor commented on Jun 15, 2020

@ianlancetaylor
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.

modified the milestones: Go1.15, Go1.16 on Jun 15, 2020
gopherbot

gopherbot commented on Jul 31, 2020

@gopherbot
Contributor

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

dmitshur

dmitshur commented on Aug 12, 2020

@dmitshur
Member

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

gopherbot commented on Sep 1, 2020

@gopherbot
Contributor

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

locked and limited conversation to collaborators on Sep 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.early-in-cycleA change that should be done early in the 3 month dev cycle.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @dmitshur@aclements@ianlancetaylor@gopherbot

        Issue actions

          runtime: revert Linux signal stack mlock workaround · Issue #35979 · golang/go