-
Notifications
You must be signed in to change notification settings - Fork 563
Dump C++ and Status propagation stacktraces. #9492
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
ec39b02
to
5b0aaf4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
5b0aaf4
to
e0427a2
Compare
@ghpvnist I have addressed your comments. Let me know if there's anything else you'd like to see in this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This PR addresses the discussion in #9339 by enhancing error reporting with C++ and Status propagation stack traces. The main goal is to provide more informative error messages by including both C++ stacktraces and Status propagation stacktraces. This should help developers quickly pinpoint error origins and understand how errors propagate through the system, simplifying debugging.
Key Changes:
MaybeWithLocation
andMaybeWithNewMessage
to thestatus_internal
namespace, as they are intended for internal use only.Status
payload for separate storage of the status propagation stacktrace.tsl::CurrentStackTrace()
immediately before throwing an exception.test_status_common.h
to reflect these changes.MaybeThrowWithErrorPropagationWithNewMessage
, to demonstrate the format of the enhanced error messages.test_status_common.h
to adhere to thekVarName
pattern.Update: added the function name
__FUNCTION__
to the status propagation trace. Lambda functions are recorded asoperator()
.Before:
After: