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: incorrect frame information in traceback traversal may hang the process. [1.17 backport] #50781

Closed
gopherbot opened this issue Jan 24, 2022 · 4 comments
Labels
CherryPickApproved
Milestone

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Jan 24, 2022

@cherrymui requested issue #50772 to be considered for backport to the next 1.17 minor release.

@gopherbot please backport this to previous releases. This may cause programs to hang. Thanks.

@gopherbot gopherbot added the CherryPickCandidate label Jan 24, 2022
@gopherbot gopherbot added this to the Go1.17.7 milestone Jan 24, 2022
@gopherbot
Copy link
Author

@gopherbot gopherbot commented Jan 25, 2022

Change https://golang.org/cl/380715 mentions this issue: [release-branch.go1.17] runtime: set vdsoSP to caller's SP consistently

@lizthegrey
Copy link

@lizthegrey lizthegrey commented Jan 31, 2022

This is cherrypick approved, not candidate now, right?

@toothrot toothrot added the CherryPickApproved label Feb 3, 2022
@toothrot
Copy link
Contributor

@toothrot toothrot commented Feb 3, 2022

Approved. This is a serious issue with no workaround.

@gopherbot gopherbot removed the CherryPickCandidate label Feb 3, 2022
@gopherbot
Copy link
Author

@gopherbot gopherbot commented Feb 7, 2022

Closed by merging 1952c65 to release-branch.go1.17.

gopherbot pushed a commit that referenced this issue Feb 7, 2022
m.vdsoSP should be set to the SP of the caller of nanotime1,
instead of the SP of nanotime1 itself, which matches m.vdsoPC.
Otherwise the unmatched vdsoPC and vdsoSP would make the stack
trace look like recursive.

We already do it correctly on AMD64, 386, and RISCV64. This CL
fixes the rest.

Also incorporate CL 352509, skipping a flaky test.

Updates #47324, #50772.
Fixes #50781.

Change-Id: I98b6fcfbe9fc6bdd28b8fe2a1299b7c505371dd4
Reviewed-on: https://go-review.googlesource.com/c/go/+/337590
Trust: Cherry Mui <cherryyz@google.com>
Trust: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
(cherry picked from commit 217507e)
Reviewed-on: https://go-review.googlesource.com/c/go/+/380715
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CherryPickApproved
Projects
None yet
Development

No branches or pull requests

3 participants