Closed
Description
Bug report
Bug description:
the following test fails when run with eager tasks
async def test_exception_refcycles_parent_task(self):
"""Test that TaskGroup deletes self._parent_task"""
tg = asyncio.TaskGroup()
exc = None
class _Done(Exception):
pass
async def coro_fn():
async with tg:
raise _Done
try:
async with asyncio.TaskGroup() as tg2:
tg2.create_task(coro_fn())
except* _Done as excs:
exc = excs.exceptions[0].exceptions[0]
self.assertIsInstance(exc, _Done)
self.assertListEqual(gc.get_referrers(exc), no_other_refs())
CPython versions tested on:
3.14
Operating systems tested on:
Linux
Linked PRs
- gh-128552: fix refcycles in eager task creation #128553
- [3.13] gh-128552: fix refcycles in eager task creation (#128553) #128585
- [3.12] gh-128588: gh-128550: gh-128552: fix refcycles in eager task creation (#128553) and remove eager tasks optimization that missed and introduced incorrect cancellations (python#129063) #128586
Metadata
Metadata
Assignees
Projects
Status
Done