MagicStack / MagicStack/uvloop

Failed to create_datagram_endpoint() with AF_UNIX family

Offen
#403 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

missing feature
Vorherrschende Sprache
Cython
Sterne
11.9k
Forks
616
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

* **uvloop version**: 0.15.2
* **Python version**: 3.7.3
* **Platform**: Debian GNU/Linux 10
* **Can you reproduce the bug with `PYTHONASYNCIODEBUG` in env?**:
* **Does uvloop behave differently from vanilla asyncio? How?**: asyncio correctly creates datagram unix socket

Code, works correctly using default event loop:

```python
res = await loop.create_datagram_endpoint(MyProto, local_addr='/tmp/my_unix_sock', family=socket.AF_UNIX)
```

Trace:

```pytb
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run
return loop.run_until_complete(main)
File "uvloop/loop.pyx", line 1494, in uvloop.loop.Loop.run_until_complete
File "./my_app.py", line 75, in main
family = socket.AF_UNIX)
File "uvloop/loop.pyx", line 3023, in create_datagram_endpoint
TypeError: local_addr must be a tuple of (host, port)
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in uvloop/loop.pyx bei create_datagram_endpoint rund um die gemeldete Zeile und führe den mitgelieferten AF_UNIX-Reproducer aus, wobei du sein Verhalten mit vanilla asyncio vergleichst. Als erledigt gilt die Aufgabe, wenn ein Datagramm-UNIX-Socket mit der gezeigten local_addr und der AF_UNIX-Familie erstellt werden kann, ohne bestehende tupelbasierte Endpunkte zu beeinträchtigen.

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
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.