test_announce_and_connect_via_dns binds a fixed port that other tests' nodes can be handed
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 83/100
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ElementsProject/lightning
-
test_splice_rbf_htlc_sigs reads htlc_sigs before the splice lock-in commitsPosiblemente ocupada @ksedgwic la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ElementsProject/lightning#9640 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
ElementsProject/lightning#9634 ·
Los mantenedores suelen responder en 2 días
-
plugins/recover: missing comma in nodes_for_gossip concatenates two bootstrap addresses into invalid addressPosiblemente ocupada @bhuvan-somisetty la tomó hace 7 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
ElementsProject/lightning#9630 ·
Los mantenedores suelen responder en 2 días
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsPosiblemente ocupada @bhuvan-somisetty la tomó hace 11 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ElementsProject/lightning#9617 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
ElementsProject/lightning#9616 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de ElementsProject/lightning
Issues similares
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
linux-test-project/ltp#1343 · 1 comentario ·
-
test_audio_host: out-of-bounds read in test_audio_host_uses_exponential_full_speed_iso_intervalAbiertofollowup Prio 📌
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
micropython/micropython#19798 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100