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

test_announce_and_connect_via_dns binds a fixed port that other tests' nodes can be handed

Abierto Apto para principiantes
#9,642 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@ksedgwic ya está trabajando en esto.

Desde el 21/10/2026.

  • #9643 de @ksedgwic — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
83/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
c, python
Área
testing

Línea de trabajo

Encuentra test_announce_and_connect_via_dns y el helper reserve_unused_port() en el código de pruebas de integración. Lee cómo la prueba establece bind-addr y announce-addr del primer nodo y, luego, usa la reserva de puertos compartida para ese puerto. Ejecuta la prueba afectada y confirma que el nodo se inicia sin el conflicto de enlace causado por el puerto fijo.

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

Descripción

test_announce_and_connect_via_dns fails intermittently because its first node cannot bind port 12345 and never starts:

lightningd-1 2026-10-19T16:39:14.533Z **BROKEN** connectd: Failed to bind socket for 127.0.0.1:12345: Address already in use
TimeoutError: Unable to find "[re.compile('Server started with public key')]" in logs.

Seen on master at 898688817 in Test CLN liquid Full Integration, run 39278670232 (2026-10-19, https://github.com/ElementsProject/lightning/actions/runs/39278670232).

Cause: the test hard-codes 12345 for the first node's bind-addr and announce-addr. Every other node in the suite gets its ports from reserve_unused_port(), which draws from the range below the OS ephemeral floor (1024 to 32767 on Linux) and coordinates only its own allocations through lock files. A node of a test running on another worker can be handed 12345, and this test's node then fails to start. connectd sets SO_REUSEADDR, so this is a live listener, not a lingering socket.

Fix: reserve the port through reserve_unused_port() as well, so the pool knows about it.

Part of #9222.

Lenguaje dominante
C
Estrellas
3.1k
Forks
1k
Merge medio
4 d 13 h
PR fusionados (30 d)
29

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

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 ElementsProject/lightning

Todos los issues de ElementsProject/lightning

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.