runtime/pprof: block and mutex profile stacks sometimes have "gowrap" root frames #69294
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Go version
go version go1.23.0 darwin/arm64
Output of
go env
in your module/workspace:What did you do?
Ran the following program:
Playground link: https://go.dev/play/p/f_80E-mywSz
EDIT: updated playground example that more clearly demonstrates how aggregation
changes with this issue: https://go.dev/play/p/2dMLkn2MOxt
What did you see happen?
I saw a
gowrap
function in the root frame:What did you expect to see?
I thought it would look roughly similar to what it looked like with Go 1.22:
This change wasn't intentional, and I think it would affect how stacks from
go foo()
calls at different call sites are aggregated. Probably changed due to https://go.dev/cl/598515. I'm not sure exactly wheremain.main.gowrap2
would have come from. The stack for the mutex and block profile gets modified a few times (here and here) and I'm not sure if we're either failing to remove that wrapper or adding it back. We may also need to drop the wrapper frames at sample time.The text was updated successfully, but these errors were encountered: