diff options
| author | Austin Clements <austin@google.com> | 2022-07-17 15:57:09 -0400 |
|---|---|---|
| committer | Austin Clements <austin@google.com> | 2023-03-10 17:18:25 +0000 |
| commit | 6f22d42c741c88c08b5df1a77831b6646e368fd1 (patch) | |
| tree | e788b92c178a0b88f3edce491f5dcd7607bf2b30 /src/runtime/stack_test.go | |
| parent | 5acd2d658ee87e5b4d73ff815e5ed41d4e4b77f3 (diff) | |
| download | go-6f22d42c741c88c08b5df1a77831b6646e368fd1.tar.xz | |
runtime: resolve caller funcInfo after processing current frame
Currently, gentraceback resolves the funcInfo of the caller prior to
processing the current frame (calling the callback, printing it, etc).
As a result, if this lookup fails in a verbose context, it will print
the failure before printing the frame that it's already resolved.
To fix this, move the resolution of LR to a funcInfo to after current
frame processing.
This also has the advantage that we can reduce the scope of "flr" (the
caller's funcInfo) to only the post-frame part of the loop, which will
make it easier to stack-rip gentraceback into an iterator.
For #54466.
Change-Id: I8be44d4eac598a686c32936ab37018b8aa97c00b
Reviewed-on: https://go-review.googlesource.com/c/go/+/458217
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Felix Geisendörfer <felix.geisendoerfer@datadoghq.com>
Diffstat (limited to 'src/runtime/stack_test.go')
0 files changed, 0 insertions, 0 deletions
