Skip to content

Python 3.12 inspecting a coroutine using getcoroutinestate returns the wrong state. #111058

Description

@gottadiveintopython

Bug report

Bug description:

Prior to Python 3.12, we can close a just created coroutine, thus, the following test passes:

frominspectimportgetcoroutinestate, CORO_CLOSEDasyncdefdo_nothing():
passdeftest_immediate_close():
coro=do_nothing()
coro.close()
assertgetcoroutinestate(coro) ==CORO_CLOSED

But in Python 3.12, the assertion fails and getcoroutinestate(coro) still is CORO_CREATED after the coro.close(). You can confirm it from https://github.com/gottadiveintopython/py312/actions/runs/6571303025/job/17850194150.

I don't know if this is an intensional change or not, but I just wanted to tell you.

CPython versions tested on:

3.12

Operating systems tested on:

Linux

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.12only security fixes3.13bugs and security fixestype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions