Skip to content

plugin: Add GET_PER_COMMITMENT_POINT to stuck HSM types#725

Merged
cdecker merged 1 commit into
mainfrom
detect-stuck-bgsync-nodes
Jun 4, 2026
Merged

plugin: Add GET_PER_COMMITMENT_POINT to stuck HSM types#725
cdecker merged 1 commit into
mainfrom
detect-stuck-bgsync-nodes

Conversation

@cdecker
Copy link
Copy Markdown
Collaborator

@cdecker cdecker commented Jun 3, 2026

Summary

Follow-up to #724. Type 18 (WIRE_HSMD_GET_PER_COMMITMENT_POINT) is used by onchaind to derive historical commitment keys during force-close resolution. If the signer doesn't respond it blocks block processing just like the signing types added in the previous PR.

Context

Inspecting the 10 worst-lagged bgsync nodes revealed 3 additional nodes stuck on type 18 — onchaind fires when hitting the block where a channel closed and requests historical per-commitment points to reconstruct keys for the HTLC sweep. The signerproxy can't fulfil these in the current bgsync sessions, so the node blocks for the full 10-minute window.

Test plan

  • Verify stuck_request_types() returns [18] when a GET_PER_COMMITMENT_POINT request is pending and unanswered

🤖 Generated with Claude Code

Type 18 (WIRE_HSMD_GET_PER_COMMITMENT_POINT) is used by onchaind to
derive historical commitment keys during force-close resolution. If the
signer doesn't respond it blocks block processing just like the signing
types already in the list.

Observed on several deeply-lagged nodes where onchaind fires for a
closing channel and gets stuck on a GET_PER_COMMITMENT_POINT request
before the 10-minute bgsync preemption kicks in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cdecker cdecker force-pushed the detect-stuck-bgsync-nodes branch from 97881e5 to b7d8e45 Compare June 4, 2026 14:57
@cdecker cdecker merged commit 30325ff into main Jun 4, 2026
16 checks passed
@cdecker cdecker deleted the detect-stuck-bgsync-nodes branch June 4, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant