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: MutexProfile missing root frames in go1.23 [1.23 backport] #69865

Closed
gopherbot opened this issue Oct 13, 2024 · 2 comments
Closed

runtime: MutexProfile missing root frames in go1.23 [1.23 backport] #69865

gopherbot opened this issue Oct 13, 2024 · 2 comments
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Milestone

Comments

@gopherbot
Copy link
Contributor

@felixge requested issue #69335 to be considered for backport to the next 1.23 minor release.

@gopherbot Please backport to 1.23. This is a regression in mutex profiles with no workaround.

(not sure if this works, i might not have permissions)

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Oct 13, 2024
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Oct 13, 2024
@gopherbot gopherbot added this to the Go1.23.3 milestone Oct 13, 2024
@gopherbot
Copy link
Contributor Author

Change https://go.dev/cl/621276 mentions this issue: [release-branch.go1.23] runtime: fix MutexProfile missing root frames

@prattmic prattmic added the CherryPickApproved Used during the release process for point releases label Oct 23, 2024
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Oct 23, 2024
@gopherbot
Copy link
Contributor Author

Closed by merging CL 621276 (commit a0d15cb) to release-branch.go1.23.

gopherbot pushed a commit that referenced this issue Oct 30, 2024
Fix a regression introduced in CL 598515 causing runtime.MutexProfile
stack traces to omit their root frames.

In most cases this was merely causing the `runtime.goexit` frame to go
missing. But in the case of runtime._LostContendedRuntimeLock, an empty
stack trace was being produced.

Add a test that catches this regression by checking for a stack trace
with the `runtime.goexit` frame.

Also fix a separate problem in expandFrame that could cause
out-of-bounds panics when profstackdepth is set to a value below 32.
There is no test for this fix because profstackdepth can't be changed at
runtime right now.

Fixes #69865

Change-Id: I1600fe62548ea84981df0916d25072c3ddf1ea1a
Reviewed-on: https://go-review.googlesource.com/c/go/+/611615
Reviewed-by: David Chase <[email protected]>
Reviewed-by: Nick Ripley <[email protected]>
Reviewed-by: Michael Pratt <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
(cherry picked from commit c64ca8c)
Reviewed-on: https://go-review.googlesource.com/c/go/+/621276
Reviewed-by: Cherry Mui <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Projects
None yet
Development

No branches or pull requests

2 participants