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