IsolatedAsyncioTestCase `__del__` could be dangerous
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 36k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
It looks like in IsolatedAsyncioTestCase when debug() crashes it doesn't teardown the event loop, in addition it seems that if the loop isn't torn down it will happen in __del__ which means thread local sensitive functions like set_event_loop get called via the GC from potentially the wrong thread
Originally posted by @graingert in https://github.com/python/cpython/pull/95898#discussion_r946516908
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei IsolatedAsyncioTestCase und verfolge den Fehlerpfad von debug(), den Abbau der Ereignisschleife und die del-Bereinigung. Ermittle, wie die Bereinigung Thread-lokale Operationen vom falschen Thread aus aufrufen kann; abgeschlossen ist die Aufgabe, wenn der Absturzpfad die Schleife zuverlässig abbaut, ohne unsicheres Destruktorverhalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 45/100