micropython / micropython/micropython-lib
uasyncio: KeyError in `remove_reader` (MacOS)
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
uasyncio version 1.2.4
I'm using it in a pretty common way:
loop = asyncio.get_event_loop()
print("* Starting Web Server at {}:{}".format(host, port))
loop.create_task(asyncio.start_server(self._handler, host, port, backlog=backlog))
if loop_forever:
loop.run_forever()
loop.close()
Sometimes (probably when connection is closed from client side) I see exception:
Traceback (most recent call last):
File "./esp_restapi.py", line 53, in <module>
File "./esp_restapi.py", line 49, in run
File "/Users/belyalov/.micropython/lib/tinyweb/server.py", line 320, in run
File "/Users/belyalov/.micropython/lib/uasyncio/core.py", line 136, in run_forever
File "/Users/belyalov/.micropython/lib/uasyncio/core.py", line 113, in run_forever
File "/Users/belyalov/.micropython/lib/uasyncio/__init__.py", line 39, in remove_reader
KeyError: 4339811008
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 in uasyncio/init.py bei remove_reader und verfolge, wie es von uasyncio/core.py in run_forever aufgerufen wird. Reproduziere den Fall des Verbindungsabbaus unter MacOS mit dem gemeldeten Server-Muster und uasyncio version 1.2.4. Als erledigt gilt die Aufgabe, wenn das Schließen auf der Client-Seite nicht mehr KeyError 4339811008 auslöst.
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
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100