-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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: stack traces of endless recursion should print top and bottom #7181
Comments
CL https://golang.org/cl/37222 mentions this issue. |
I've hacked up https://go-review.googlesource.com/c/37222. |
Change https://golang.org/cl/70913 mentions this issue: |
Change https://golang.org/cl/70914 mentions this issue: |
Sorry for all the spamming with the CL notifications, Gerrit was tripping out on me and instead got me mailing triplicate CLs. |
Any way to vote on this? Our dev team just spent a day trying to guess which part of our code might have been in the stack because our entire codebase was elided from the trace.
|
Thumbs up on initial post. I think we're happy to have this done. It's just that no one has yet signed up to do it. |
I signed up to fix it :) but there is a blocker bug within the runtime
about the skips that were changed and that issue isn’t yet fixed. I mailed
a CL but that CL is in limbo until that issue is resolved. I’ll nudge
Austin and Michael perhaps in the Go1.15 cycle, so thanks for the ping and
apologies for the stall.
…On Mon, Jan 6, 2020 at 8:17 PM Keith Randall ***@***.***> wrote:
Any way to vote on this?
Thumbs up on initial post.
I think we're happy to have this done. It's just that no one has yet
signed up to do it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#7181?email_source=notifications&email_token=ABFL3VZZ4RETFGW56UQW4DTQ4P64PA5CNFSM4DAUJV72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIHUJQI#issuecomment-571425985>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABFL3V7G7GVQ6O5FARGW3KDQ4P64PANCNFSM4DAUJV7Q>
.
|
I'm going to mark this for 1.15 so it receives some visibility. This will be very helpful whenever an endless recursion strikes. We can always put it back on backlog. |
Change https://golang.org/cl/268517 mentions this issue: |
CL was reverted. |
Is this still planned? Would be super nice... |
Change https://go.dev/cl/458218 mentions this issue: |
Currently, all stack walking logic is in one venerable, large, and very, very complicated function: runtime.gentraceback. This function has three distinct operating modes: printing, populating a PC buffer, or invoking a callback. And it has three different modes of unwinding: physical Go frames, inlined Go frames, and cgo frames. It also has several flags. All of this logic is very interwoven. This CL reimplements the monolithic gentraceback function as an "unwinder" type with an iterator API. It moves all of the logic for stack walking into this new type, and gentraceback is now a much-simplified wrapper around the new unwinder type that still implements printing, populating a PC buffer, and invoking a callback. Follow-up CLs will replace uses of gentraceback with direct uses of unwinder. Exposing traceback functionality as an iterator API will enable a lot of follow-up work such as simplifying the open-coded defer implementation (which should in turn help with #26813 and #37233), printing the bottom of deep stacks (#7181), and eliminating the small limit on CPU stacks in profiles (#56029). Fixes #54466. Change-Id: I36e046dc423c9429c4f286d47162af61aff49a0d Reviewed-on: https://go-review.googlesource.com/c/go/+/458218 Reviewed-by: Michael Pratt <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Austin Clements <[email protected]>
Change https://go.dev/cl/475960 mentions this issue: |
The text was updated successfully, but these errors were encountered: