runtime/trace: no call stack recorded the first time a goroutine is seen in a trace #65634
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
FrozenDueToAge
NeedsFix
The path to resolution is known, but the work has not been done.
Milestone
If a goroutine already exists at the start of an execution trace, e.g. it's been blocked since the trace started, we don't get a call stack for the first event recorded for the goroutine. If the goroutine stays blocked for the entire trace, we get no call stacks at all and have no way to identify the goroutine.
The previous tracer implementation recorded the starting PC for a goroutine as a one-frame "call stack" when enumerating the goroutines which exist at the start of the trace. The v2 tracer lost this behavior. We could bring it back, or, as @mknyszek suggested in #65574:
I'm +1 on this idea. If a goroutine is blocked for the duration of a trace, it would be helpful to know where it's blocked.
The text was updated successfully, but these errors were encountered: