Include Python traceback in libnomp error logs#291
Open
thilinarmtb wants to merge 1 commit into
Open
Conversation
Python C-API failures in the nomp_py_* functions previously reported only a generic message (e.g. "Calling realize_reduction() function failed."), discarding the actual Python exception. This made debugging issues like the loopy reduction failure much harder than necessary. Add nomp_py_err_str() to capture the active Python exception and format it (with traceback) via traceback.format_exception, and route the shared check_py_call/check_py_str/check_error_ macros through a new nomp_py_log_() that appends the traceback to the nomp log. All nomp_py_* functions gain the traceback at once since they share these macros. Add test_python_traceback_in_log (nomp-api-100) asserting the traceback, including the raised NameError, appears in the error string. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6401787 to
8158c2b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Python C-API failures in the
nomp_py_*functions previously reported only a generic message(e.g. "Calling realize_reduction() function failed."), discarding the actual Python exception. This
made debugging issues like the loopy reduction failure much harder than necessary.
Add
nomp_py_err_str()to capture the active Python exception and format it (with traceback)via
traceback.format_exception, and route the sharedcheck_py_call/check_py_str/check_error_macros through a new
nomp_py_log_()that appends the traceback to the nomp log. Allnomp_py_*functions gain the traceback at once since they share these macros.
Add
test_python_traceback_in_log(nomp-api-100) asserting the traceback, including theraised
NameError, appears in the error string.