create_task(name=...)
silently fails to set name with custom task_factory after gh-128308
#132593
Labels
Bug report
Bug description:
During a rebuild of all packages in Debian unstable, the uvloop test suite failed due to a new behavior in asyncio.
This suite runs each test twice: once with uvloop implementation (which passes) and once with Python’s asyncio implementation (which fails).
Since
asyncio.BaseEventLoop.create_task()
no longer callsset_name(name)
. This breaks compatibility with any factory that does not set the name manually.Expected behavior
When using
create_task(..., name="example name")
, the task's name should always be set - even when using a custom task factory - as it was before the regression.Actual behavior
With a custom factory that returns a
subclassed asyncio.Task
, the task name isNone
unless the factory manually callsset_name(name)
. This is a silent behavioral change that breaks code relying onset_name()
being called by the event loop.My Environment
Python version: 3.13.2
Debian testing
Script to reproduce
CPython versions tested on:
3.13
Operating systems tested on:
Linux
The text was updated successfully, but these errors were encountered: