lnd: `ChanStatusBorked`, closure with ZFR, "ghost" balance sent to unknown addresses

Background

Channel with ZFR that out of the blue closes, bos bot just reports “closing channel”, not a force closure. I saw no unconfirmed txns in my cold wallet, out of which I took an address to attach to the channel open I initiated. Onchain, I see this tx corresponding to the closure: cda9474e4cabc591b5a79503784b039d800729a19b07cd0ea982acde22c182ce The output addresses are not known to me. This is the relevant output from lncli pendingchannels

   "waiting_close_channels": [
        {
            "channel": {
                "remote_node_pub": "038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5",
                "channel_point": "58839114c2a2d8011126547f03f2ea6395242bef8498353c21c1bd36ec53f69b:0",
                "capacity": "2100000",
                "local_balance": "585085",
                "remote_balance": "1362691",
                "local_chan_reserve_sat": "21000",
                "remote_chan_reserve_sat": "21000",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "STATIC_REMOTE_KEY",
                "num_forwarding_packages": "1",
                "chan_status_flags": "ChanStatusBorked"
            },
            "limbo_balance": "585085",
            "commitments": {
                "local_txid": "4ecefe0f6ba5214198793dedd12fcef71481bf7c1fd243dbf0daf444eebc0633",
                "remote_txid": "cda9474e4cabc591b5a79503784b039d800729a19b07cd0ea982acde22c182ce",
                "remote_pending_txid": "",
                "local_commit_fee_sat": "2145",
                "remote_commit_fee_sat": "2145",
                "remote_pending_commit_fee_sat": "0"
            },
            "closing_txid": ""
        }
    ]

From the records saved by lndg about the channel, local I had 585497 + 1734 commit, which summed to the 1512769 lndg had saved as remove balance is exactly 2100000.

Grepping ERR from logs I see

[ERR] LNWL: ChannelPoint(58839114c2a2d8011126547f03f2ea6395242bef8498353c21c1bd36ec53f69b:0): sync failed: remote's next commit height is 37795, while we believe it is 37793!
[ERR] HSWC: ChannelLink(58839114c2a2d8011126547f03f2ea6395242bef8498353c21c1bd36ec53f69b:0): failing link: unable to synchronize channel states: unable to sync commit chains with error: unable to resume channel, recovery required

I know at this point this must have been a FC which my lnd didn’t detect as such, will I recover the funds automatically via sweep or do I need to do anything special?

Your environment

  • version of lnd 0.14.3
  • which operating system (uname -a on *Nix) raspberry bullseye
  • version of btcd, bitcoind, or other backend 0.22
  • any other relevant environment details

Steps to reproduce

Nothing special

Expected behaviour

Don’t even know what to expect

Actual behaviour

Closure, funds disappeared

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

@GordianLN Lightning Labs is almost finished assessing the issue. Wanted to update you