Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

uvloop is broken for abstract sockets - create_unix_connection does not work for abstract sockets as libuv does not support them

Abierto
#528 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
networking

Línea de trabajo

Empieza en create_unix_connection y en la ruta mostrada UnixTransport.new/tr.connect(path), y compárala después con el manejo de socket_connect de vanilla asyncio. Lee la discusión enlazada de libuv sobre los sockets abstractos antes de decidir si la corrección corresponde a uvloop o a libuv. Se considera terminado cuando las conexiones a sockets Unix abstractos funcionan como se espera y el comportamiento se ha verificado frente a asyncio.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

  • uvloop version: master
  • Python version: 3.10+
  • Platform: unix
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: yes
  • Does uvloop behave differently from vanilla asyncio? How?: yes

uvloop:
tr = UnixTransport.new(self, protocol, None, waiter, context)
tr.connect(path) <--- uses uv_pipe_connect which uses uv__strscpy which assumes zero terminated string

asyncio:
sock_connect -> getsockaddrarg (in socketmodule.c) which uses memcpy

I have raised this with libuv as issue: https://github.com/libuv/libuv/discussions/3911

Lenguaje dominante
Cython
Estrellas
11.9k
Forks
615
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MagicStack/uvloop

Todos los issues de MagicStack/uvloop

Issues similares

Más issues de Networking

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.