python / python/cpython

The event loop warns only on Windows 3.14+ if it isn't closed before garbage collection

Đang mở
#141,262 5 bình luận 0 reaction 1 người được giao Xem trên GitHub

@johnslavik đang làm issue này rồi.

Từ ngày 20/7/2026.

3.13 3.14 3.15 3.16 stdlib topic-asyncio type-bug
Ngôn ngữ chính
Python
Star
77.2k
Fork
35.9k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

Bug report

Bug description:

This program reports ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False> only on Windows and only since 3.14:

import asyncio
asyncio.set_event_loop(loop := asyncio.new_event_loop())
loop.run_until_complete(asyncio.sleep(1))

Other platforms and versions in the 3.9-3.15 Linux-MacOS-Windows matrix don't do that.

See jobs.
I've reproduced this at main too.

Key things I'm investigating:

  • Is it mandatory to call .close() manually, if we don't use a runner?
    • If yes, why does only Windows 3.14+ proactor loop raise this warning, and loops on other platforms and versions do not?
    • If no (since most platforms and versions seemingly do not require this), why does the loop raise the warning?
  • In general, could and should the asyncio REPL use a runner?

I've found this while working on the asyncio REPL. This issue blocks me from completing #140287. Note that the asyncio REPL does call .stop(); it only doesn't call .close(). .stop() is not meant to stop the loop for good (the loop is re-entrant), .close() is irreversible and idempotent.

CPython versions tested on:

3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, CPython main branch

Operating systems tested on:

Windows, macOS, Linux

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.