-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
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
GH-100126: Skip incomplete frames in more places #100613
GH-100126: Skip incomplete frames in more places #100613
Conversation
🤖 New build scheduled with the buildbot fleet by @brandtbucher for commit 53d066e 🤖 If you want to schedule another build, you need to add the |
The one failing buildbot (ARM64 Windows) has been failing on other PRs too. |
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.
One quibble about naming.
Looks good. Hopefully this is the last of the frame stack traversal issues.
Include/internal/pycore_frame.h
Outdated
@@ -153,6 +153,21 @@ _PyFrame_IsIncomplete(_PyInterpreterFrame *frame) | |||
frame->prev_instr < _PyCode_CODE(frame->f_code) + frame->f_code->_co_firsttraceable; | |||
} | |||
|
|||
static inline _PyInterpreterFrame * | |||
_PyFrame_GetComplete(_PyInterpreterFrame *frame) |
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.
This name gives no sense of traversing the stack until a complete frame is found.
Maybe _PyFrame_GetFirstComplete()
?
Also, add two new internal APIs (
_PyFrame_GetComplete
and_PyThreadState_GetFrame
) to make this common move a bit cleaner.tstate->cframe->current_frame
) #100126