micropython / micropython/micropython-lib
[uasyncio] Trying to call aclose() twice on streams with the same underlying socket leads to exception
Offen
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 2.9k
- Forks
- 1.1k
- Ø Merge
- 7 T. 6 Std.
- Gemergte PRs (30 T.)
- 3
Beschreibung
reader, writer = await asyncio.open_connection(hostname, port)
# sending and receiving
await reader.aclose()
await writer.aclose()
Traceback (most recent call last):
File "client.py", line 28, in <module>
File "/Users/danni/.micropython/lib/uasyncio/core.py", line 112, in run_until_complete
File "/Users/danni/.micropython/lib/uasyncio/core.py", line 104, in run_forever
File "/Users/danni/.micropython/lib/uasyncio/core.py", line 89, in run_forever
File "/Users/danni/.micropython/lib/uasyncio/__init__.py", line 28, in remove_reader
KeyError: <value>
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
Reproduziere die Sequenz mit zwei Schließvorgängen und untersuche anschließend uasyncio/core.py und uasyncio/init.py rund um den im traceback gezeigten Pfad zur Entfernung des Readers. Prüfe, wie Reader und Writer den Socket gemeinsam verwenden, und verifiziere, dass das sequenzielle Schließen beider ohne einen KeyError abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 38/100