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

Connection failure with localhost

Abierto
#431 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
haskell

Línea de trabajo

Inspecciona el commit 21cd334ef3aa78e2039eff3874fc2d63ea3cd6af, empezando por la llamada a N.getAddrInfo y decodeSockAddr alrededor de la línea de fallo vinculada. Reproduce una conexión usando localhost en un sistema que lo resuelva como ::1 y, a continuación, verifica que las conexiones a localhost ya no fallen mientras el comportamiento de IPv4 permanezca intacto.

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

Descripción

network-transport-tcp

I'm observing failures when trying to connect and send messages to localhost:

TransportError ConnectFailed "Network.Socket.recvBuf: resource vanished (Connection reset by peer)"

I did not construct a minimal example, but I've traced the issue to the following commit to network-transport-tcp. In particular the original failure occurs in this line. The issue is that at this point sockAddr has the value ::1 but decodeSockAddr only supports IPv4 addresses. Adding a dummy case that handles IPv6 and always returns 127.0.0.1:<port> fixes the connection failures in my case.
The IPv6 address originates from this call to N.getAddrInfo when host="localhost".
A work-around is to always use 127.0.0.1 instead of localhost.
This depends on system configuration, as the issue was only observed on some machines.

Lenguaje dominante
Haskell
Estrellas
753
Forks
101
Merge medio
1 d 3 h
PR fusionados (30 d)
4

Preparar el entorno

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 haskell-distributed/distributed-process

Todos los issues de haskell-distributed/distributed-process

Issues similares

Más issues de Haskell

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.