-
-
Notifications
You must be signed in to change notification settings - Fork 32k
shielded task exception never retrieved when outer task cancelled #86802
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
Comments
A task created with asyncio.shield() never retrieves the task exception, which results in a log message being generated. See the attached script for a minimal example. Output looks something like this: <snip>
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<some_coroutine() done, defined at /Users/natano/python-bug/trigger-warning.py:4> exception=Exception('foo')>
Traceback (most recent call last):
File "/Users/natano/python-bug/trigger-warning.py", line 6, in some_coroutine
raise Exception('foo')
Exception: foo
</snip> I believe this behaviour is not intended and is an unintended side-effect of commit b35acc5 (b35acc5). The _inner_done_callback has has code to retrieve the exception when the outer task was cancelled, but since that commit the _inner_done_callback is not called anymore when the outer task was cancelled. (Tested with 3.8, 3.9 and 3.10. I don't have a python 3.7 version available for testing, but I think this issue also affects 3.7.) |
I'm not sure how to fix this, but here is a regression test for the issue. (failing on the current master branch) |
Thanks for the report. I didn't test but looks like |
How would calling |
…ed log once through the exception handler
…through the exception handler (gh-134331) Co-authored-by: Łukasz Langa <lukasz@langa.pl>
… once through the exception handler (pythongh-134331) (cherry picked from commit f695eca) Co-authored-by: Christian Harries <68507104+ChristianHrs@users.noreply.github.com> Co-authored-by: Łukasz Langa <lukasz@langa.pl>
…ions log once through the exception handler (pythongh-134331)" This reverts commit f695eca.
…ions log once through the exception handler (pythongh-134331)" This reverts commit f695eca.
… once through the exception handler (pythongh-134331) Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Uh oh!
There was an error while loading. Please reload this page.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
Linked PRs
The text was updated successfully, but these errors were encountered: