Skip to content

[bug]: Force closed channel still pending after 112 confirmations with blocks_to_maturity=34, and terminating in a loop of StateWaitingFullResolution nursery  #8392

@abinition

Description

@abinition

Background

  1. Closed a channel using fee of 50 sats/vbyte, but txn showed up in mempool with 24.7 sats/vbyte. (Unsure why)
  2. Proceeded to do force close but CPFP only increased fee to 37 sats/vbyte.
  3. Then tried "lnd bumpclosefee" with 70 sats/vbyte to get the transaction confirmed.
  4. At 112 confirmations later, channel still not closed, funds in limbo

Your environment

(lncli version 0.16.4-beta commit=v0.16.4-beta)
(Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux)
(Bitcoin Core RPC client version v25.0.0)

Steps to reproduce

  1. Close channel with not enough fees.
  2. Force close the channel, but still not enough fees to confirm
  3. Perform a "lncli bumpclosefee" with higher fee to create a new CPFP and get transaction confirmed
  4. Wait for a channel close that never occurs

Expected behaviour

The channel close should be resolved after 34 confirmations as stated.

Actual behaviour

The channel close is stuck in state StateWaitingFullResolution.
The lnd.log shows a loop of continuing to attempt a close and rebuilding of a nursery report.

Logs and info

Bumpfee command:
lncli wallet bumpclosefee --sat_per_vbyte 70 88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1

Transaction (channel close) was:
ec14e99da2e158bd6aacb4b74292fec1e663453108e5d5d5b9495bacdfd94d88

From 'lncli pendingchannels'
"pending_force_closing_channels": [
{
"channel": {
"remote_node_pub": "03820714a3f891c7c3ae5e00dbdd77f06ceccc24ddd8c99fadef13ec2eec462cce",
"channel_point": "88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1",
"capacity": "250000",
"local_balance": "212550",
"remote_balance": "30002",
"local_chan_reserve_sat": "0",
"remote_chan_reserve_sat": "0",
"initiator": "INITIATOR_LOCAL",
"commitment_type": "ANCHORS",
"num_forwarding_packages": "0",
"chan_status_flags": "",
"private": false
},
"closing_txid": "ec14e99da2e158bd6aacb4b74292fec1e663453108e5d5d5b9495bacdfd94d88",
"limbo_balance": "212550",
"maturity_height": 826188,
"blocks_til_maturity": 32,
"recovered_balance": "330",
"pending_htlcs": [
],
"anchor": "RECOVERED"

From lnd.log, ie: (sudo tail -100000f /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log | grep 88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a)

2024-01-17 17:03:38.948 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): attempting state step with trigger=chainTrigger from state=StateWaitingFullResolution
2024-01-17 17:03:38.948 [INF] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): still awaiting contract resolution
2024-01-17 17:03:38.948 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): still have unresolved contract: *contractcourt.commitSweepResolver
2024-01-17 17:03:38.948 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): terminating at state=StateWaitingFullResolution
2024-01-17 17:03:38.950 [INF] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): relaunching 1 contract resolvers
2024-01-17 17:03:38.950 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): attempting to resolve *contractcourt.anchorResolver
2024-01-17 17:03:38.951 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): contract *contractcourt.anchorResolver not yet resolved
2024-01-17 17:03:38.950 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): attempting to resolve *contractcourt.commitSweepResolver
2024-01-17 17:03:38.951 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): contract *contractcourt.commitSweepResolver not yet resolved
2024-01-17 17:05:49.022 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): marking contract *contractcourt.anchorResolver fully resolved
2024-01-17 17:05:49.056 [DBG] CNCT: *contractcourt.commitSweepResolver(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): commit conf_height=826044, unlock_height=826188
2024-01-17 17:05:49.056 [DBG] CNCT: *contractcourt.commitSweepResolver(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): waiting for CSV lock to expire at height 826188
2024-01-17 17:05:49.090 [INF] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): a contract has been fully resolved!
2024-01-17 17:05:49.090 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): attempting state step with trigger=chainTrigger from state=StateWaitingFullResolution
2024-01-17 17:05:49.090 [INF] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): still awaiting contract resolution
2024-01-17 17:05:49.091 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): still have unresolved contract: *contractcourt.commitSweepResolver
2024-01-17 17:05:49.091 [DBG] CNCT: ChannelArbitrator(88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1): terminating at state=StateWaitingFullResolution
2024-01-17 17:11:46.434 [DBG] UTXN: NurseryReport: building nursery report for channel 88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1
2024-01-17 17:27:45.865 [DBG] UTXN: NurseryReport: building nursery report for channel 88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1
2024-01-17 17:56:51.166 [DBG] UTXN: NurseryReport: building nursery report for channel 88f1b28df6594cef7aec4b9c27ffb65569cf45cfaaee9c658648a68ffee3fe7a:1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions