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
bpo-40696: Fix a hang that can arise after gen.throw() #20287
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.
I've left a few comments, Chris.
a5084a9
to
66c71aa
Compare
|
@1st1 I made some changes. Let me know what you think. Happy to iterate further. |
|
Thanks @cjerdonek for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9. |
This updates _PyErr_ChainStackItem() to use _PyErr_SetObject() instead of _PyErr_ChainExceptions(). This prevents a hang in certain circumstances because _PyErr_SetObject() performs checks to prevent cycles in the exception context chain while _PyErr_ChainExceptions() doesn't. (cherry picked from commit 7c30d12) Co-authored-by: Chris Jerdonek <chris.jerdonek@gmail.com>
|
GH-20321 is a backport of this pull request to the 3.9 branch. |
|
Thanks @cjerdonek for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9. |
This updates _PyErr_ChainStackItem() to use _PyErr_SetObject() instead of _PyErr_ChainExceptions(). This prevents a hang in certain circumstances because _PyErr_SetObject() performs checks to prevent cycles in the exception context chain while _PyErr_ChainExceptions() doesn't. (cherry picked from commit 7c30d12) Co-authored-by: Chris Jerdonek <chris.jerdonek@gmail.com>
|
GH-20322 is a backport of this pull request to the 3.9 branch. |
This updates _PyErr_ChainStackItem() to use _PyErr_SetObject() instead of _PyErr_ChainExceptions(). This prevents a hang in certain circumstances because _PyErr_SetObject() performs checks to prevent cycles in the exception context chain while _PyErr_ChainExceptions() doesn't. (cherry picked from commit 7c30d12) Co-authored-by: Chris Jerdonek <chris.jerdonek@gmail.com>
This updates _PyErr_ChainStackItem() to use _PyErr_SetObject() instead of _PyErr_ChainExceptions(). This prevents a hang in certain circumstances because _PyErr_SetObject() performs checks to prevent cycles in the exception context chain while _PyErr_ChainExceptions() doesn't.
https://bugs.python.org/issue40696