`splice_update` hangs and never returns, even after disconnecting peer
Los mantenedores suelen responder en 2 días
@vincenzopalazzo ya está trabajando en esto.
Desde el 7/10/2026.
- #9605 de @vincenzopalazzo — abierto
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c
- Área
- distributed-systems
Línea de trabajo
Start by reproducing the reported createpsbt → utxoupdatepsbt → splice_init → splice_update sequence. Trace the splice_update handling around the logged WIRE_TX_ADD_INPUT and WIRE_TX_COMPLETE exchange; the issue does not name a file or test. Done means the RPC no longer hangs in this case, including after peer disconnection, and the behavior is covered by a regression test.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Maybe the I/O plumbing has a leak somewhere.
Here is what I did:
- I called Bitcoin Core's
createpsbtto create a PSBT with three inputs and no outputs. - I called Bitcoin Core's
utxoupdatepsbtto populate the UTxO information for the inputs. - I called CLN's
splice_init, passing thechannel_id, therelative_amountthat I was proposing to add to the channel, theinitialpsbtfromutxoupdatepsbt, andfeerate_per_kw=75. This returned a PSBT with my contributed three inputs plus the existing channel outpoint as a fourth input and also one output that would have become the new channel outpoint. (There was no change output because myrelative_amountwas exactly equal to the sum of my contributed input amounts minus the fee.) - I called CLN's
splice_update, passing thechannel_idand thepsbtfromsplice_init. This simply hanged and never returned. - I tried forcibly disconnecting the peer, which worked, but the
splice_updateRPC still did not return.
The log contains:
2026-10-05T03:57:51.888Z DEBUG 03…ee-channeld-chan#256329: Getting handle_splice_init psbt version 2 (RBF?: n)
2026-10-05T03:57:51.888Z DEBUG 03…ee-channeld-chan#256329: Sending peer that we want to STFU.
2026-10-05T03:57:51.888Z DEBUG 03…ee-channeld-chan#256329: peer_out WIRE_STFU
2026-10-05T03:57:51.912Z DEBUG 03…ee-channeld-chan#256329: peer_in WIRE_STFU
2026-10-05T03:57:51.912Z DEBUG 03…ee-channeld-chan#256329: STFU initiator local.
2026-10-05T03:57:51.912Z UNUSUAL 03…ee-channeld-chan#256329: STFU complete: we are quiescent
2026-10-05T03:57:51.912Z UNUSUAL 03…ee-channeld-chan#256329: STFU complete: setting stfu_wait_single_msg = true
2026-10-05T03:57:51.912Z DEBUG 03…ee-channeld-chan#256329: peer_out WIRE_SPLICE
2026-10-05T03:57:51.946Z DEBUG 03…ee-channeld-chan#256329: peer_in WIRE_SPLICE_ACK
2026-10-05T03:57:51.946Z DEBUG 03…ee-channeld-chan#256329: Sending master 7208
2026-10-05T03:57:51.947Z DEBUG 03…ee-channeld-chan#256329: ... , awaiting 7209
2026-10-05T03:57:51.948Z DEBUG 03…ee-channeld-chan#256329: Got it!
2026-10-05T04:01:10.119Z DEBUG 03…ee-channeld-chan#256329: Sending master 7208
2026-10-05T04:01:10.135Z DEBUG 03…ee-channeld-chan#256329: ... , awaiting 7209
2026-10-05T04:01:10.136Z DEBUG 03…ee-channeld-chan#256329: Got it!
2026-10-05T04:01:10.136Z DEBUG 03…ee-channeld-chan#256329: ictx->shared_outpoint=a1…a9:8
2026-10-05T04:01:10.136Z DEBUG 03…ee-channeld-chan#256329: point=a1…a9:8
2026-10-05T04:01:10.136Z DEBUG 03…ee-channeld-chan#256329: Adding shared input 36…67
2026-10-05T04:01:10.136Z DEBUG 03…ee-channeld-chan#256329: peer_out WIRE_TX_ADD_INPUT
2026-10-05T04:01:10.160Z DEBUG 03…ee-channeld-chan#256329: peer_in WIRE_TX_COMPLETE
I'm not sure why the success log messages from the STFU exchange should be considered UNUSUAL. That looks wrong to me.
Anyway, we sent WIRE_TX_ADD_INPUT and received WIRE_TX_COMPLETE, and then we went on vacation. ☹️👎🏻
This was on CLN v26.06.8.
- Lenguaje dominante
- C
- Estrellas
- 3.1k
- Forks
- 1k
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 40
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
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/lightning#9593 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9322 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9206 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9187 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
QA
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
ElementsProject/lightning#9117 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de ElementsProject/lightning
Issues similares
-
[P2] Workspace updates silently ignore forbidden assignments while staging the rowPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
Los mantenedores suelen responder en 4 días
-
sdl3-image update to 3.4.8Abiertocategory:port-update
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
microsoft/vcpkg#54338 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
area:http-gateway good first issue priority:low type:docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
crazy-goat/php-fpm-ng#828 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
SunDevilRocketry/Flight-Computer-Firmware#347 ·
Los mantenedores suelen responder en 3 días