`splice_update` hangs and never returns, even after disconnecting peer
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- distributed-systems
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- C
- Stelle
- 3.1k
- Fork
- 1k
- Merge medio
- 3g 10h
- PR unite (30g)
- 40
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ElementsProject/lightning
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/lightning#9593 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9322 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9206 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9187 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
QA
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
ElementsProject/lightning#9117 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di ElementsProject/lightning
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kovidgoyal/kitty#10625 ·
I maintainer di solito rispondono entro 1 giorno
-
Feature Status: Needs Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
RubyMetric/chsrc#396 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
riscv-software-src/riscv-isa-sim#2466 ·
I maintainer di solito rispondono entro 1 giorno