AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Moderate 53 Bitcoin

Exit quiescence when splice_init is rejected with Abort

Public commit record

What the developer wrote

Authored by Jeffrey Czyz

73/100 · Adequate
Exit quiescence when splice_init is rejected with Abort

The same bug fixed in the prior commit for tx_init_rbf also exists in
internal_splice_init: when splice_init triggers FeeRateTooHigh in
resolve_queued_contribution, the ChannelError::Abort goes through
try_channel_entry! without exiting quiescence.

Apply the same fix: intercept ChannelError::Abort before
try_channel_entry!, call exit_quiescence, and return the error with
exited_quiescence set.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit fixes a state-handling bug in the Lightning Dev Kit's splicing feature. When a splice attempt is rejected because the proposed transaction fee rate is too high, the code now properly exits 'quiescence' (a temporary pause in normal channel activity) before returning the error. Previously, the channel could remain stuck in quiescence, which might disrupt normal channel operation and message flow.

Recommended action

Review related error paths in channelmanager.rs for similar failures to exit quiescence before returning abort errors. Ensure all splice/RBF error paths are covered by tests asserting quiescence cleanup.

Security signals we found

01

State inconsistency: channel remains in quiescence after abort

02

Denial-of-service-like symptom: disrupted channel message flow

03

Fix mirrors a prior similar fix for tx_init_rbf

04

Error path not exiting quiescence is a known bug class in this codebase

05

Test updated to assert correct post-abort behavior

Risk score

Why this scored 53/100

Our methodology →
Potential impact 18/30
Exploitability 8/25
Stealth signal 7/15
Affected reach 8/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.