lnd: [bug]: SCB recovery not triggering force closes

Background

SCBs seem to get added to the local database but don’t seem to get any response from the counterparty. No force closes are initiated.

On the initiator side we see events:

14:01:40.408 [INF] CHBU: Restoring ChannelPoint(5b64dda7051e765ba25ec669423a7947966dbfce3e0341615673a4ccb0edbb91:0) to disk: 
14:01:40.414 [INF] LTND: SCB Recovery: created channel shell for ChannelPoint(5b64dda7051e765ba25ec669423a7947966dbfce3e0341615673a4ccb0edbb91:0), chan_type=42
14:01:40.414 [INF] LTND: Inserting 1 SCB channel shells into DB

But nothing else. Nothing seen on the counterparty side.

Initiator

  • Mobile
  • lnd v0.17.0-beta.rc{4,5,6} custom builds
  • Android 9 + 12
  • Neutrino

Counterparty

  • lnd v0.17.0-beta.rc{4,5,6}
  • Ubuntu Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-156-generic x86_64)
  • bitcoind v24.01

Steps to reproduce

Initiate a SCB recovery.

Expected behaviour

Force closes triggered.

Actual behaviour

When triggered when channels are still open, channels remain open.

When triggered during a seed recovery, channels do not show up under Closed or Pending channels, even after some time.

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 15 (9 by maintainers)

Most upvoted comments

IIUC, the OP is tying to restore a channel that’s already active, which is basically a noop. The SCB flow is for when you don’t have a channel at all, and want to attempt to recover on chain. If the channel is already active, then it means they were able to complete the initial handshake, so they can continue to use the channel.