-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Runtime] Add an option to produce non-symbolicated backtraces. #71505
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
Conversation
Symbolication can take some time, depending on the binaries involved. In certain contexts it's better for the backtrace to finish quickly, and then symbolication could be done offline. rdar://122302117
Document the new `symbolicate` setting. rdar://122302117
Rather than just on or off, I've changed it to allow "off", "fast", or "full". "fast" means that we'll do symbol lookup, but we won't try to find inline frames and we won't run line number programs (those are the things that are taking considerable time in some cases). rdar://122302117
@swift-ci Please test |
Explanation: When deploying statically linked programs in Kubernetes, it's better if a crashing program terminates quickly so that Kubernetes restarts the affected pod(s). In some cases, scanning the DWARF data for inline frames and processing line number programs is taking over a minute, which is undesirable in this environment. This PR adds an option to disable symbolication completely, or to just disable inline frame and line number processing (symbol lookup itself is quick). |
@swift-ci Please test macOS platform |
The failing tests are existing, known problems, where the test has been disabled in 5.10 and later. #71609 is a PR to disable them on |
This failure is being caused by a change in behaviour from libdispatch, and is not reflective of a Swift bug. See rdar://112865148.
This is the problem mentioned in swiftlang#70759 (or a variant thereof); apparently macOS gives warnings when Linux is giving errors.
I've cherry-picked the changes from that PR here, so we could just merge this one once testing is complete. |
@swift-ci Please test |
@swift-ci Please test macOS platform |
The macOS failure here is nothing to do with this PR; seems like a configuration issue —
|
@swift-ci Please smoke test macOS platform |
@swift-ci Please test macOS platform |
We didn't do another 5.9 release, so closing this. |
Symbolication can take some time, depending on the binaries involved. In certain contexts it's better for the backtrace to finish quickly, and then symbolication could be done offline.
rdar://122302117