Author

Topic: Lightning channels showing closing for weeks (Read 95 times)

newbie
Activity: 2
Merit: 7
March 14, 2023, 06:29:24 PM
#2
Hello all,

Issue resolved! and I learned a lot by following the steps to resolve it as well.  The solution is a post from another forum but in summary, credit goes to Oliver Gugger from Lightning Labs and the tool he created/maintains.

The instructions I followed are here:

The solution to the problem is not “waiting it out”… the issue lies with the way CLN and LND nodes are talking to each other and will not be resolved without some intervention.

May not have the lingo 100% down but here’s the issue:

CLN nodes are immediately closing the connection when receiving an SCB request from LND nodes. The connection is closed before LND has a chance to send the error message that triggers the necessary force close as part of the recovery process. The easiest solution is to contact the other node operator and ask them to force close. If that’s not possible, chantools developer just added a workaround that sends the error message separately to trigger the force close and recover funds.

chantools: https://github.com/guggero/chantools 1

solution: https://github.com/lightningnetwork/lnd/issues/7301#issuecomment-1445121739 2

Steps, per the developer… will need to ssh into your Umbrel and run via command line/terminal:

Download the latest version of chantools (v0.10.7) (use arm64 version for Umbrel)

Run the following command (replacing the peer address with the full address of the remote peer and the channel point with the channel in question):

chantools triggerforceclose --peer [peer@address:port] --channel_point [channel:id]

The tool will ask you for your seed, which is required to initiate the encrypted p2p communication with the peer.

If the channel is observed by lnd (e.g. showing up in the list of lncli pendingchannels), then just wait until the force close transaction is confirmed and the channel should automatically update the status there.

If the channel isn’t showing up in the list of pending channels, you can use the chantools sweepremoteclosed command to sweep the funds.

After running the above steps, channel was closed almost immediately and funds were secured on-chain.

newbie
Activity: 2
Merit: 7
Hello all,

I migrated my LND node to different hardware, I backed up my node on-chain seed phrase and channels file.  However, I learned the hard way that even though I got the on-chain funds recovered as soon as I entered the seed phrase on the new hardware, all the channels were foreclosed after uploading the channel's backup file.  Most of the channels funds were moved to the on-chain wallet of the node, except two:

$ lncli pendingchannels
{
    "total_limbo_balance": "0",
    "pending_open_channels": [
    ],
    "pending_closing_channels": [
    ],
    "pending_force_closing_channels": [
    ],
    "waiting_close_channels": [
        {
            "channel": {
                "remote_node_pub": "02729134d5ef3297717a8e53539442ba4d08da400c7381d0e9211f0b66c1e46601",
                "channel_point": "16189adca01b0fc598f191248f795037570635c0a615fc125b51b79c18e5bbeb:1",
                "capacity": "1000000",
                "local_balance": "0",
                "remote_balance": "0",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_REMOTE",
                "commitment_type": "STATIC_REMOTE_KEY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "ChanStatusLocalDataLoss|ChanStatusRestored"
            },
            "limbo_balance": "0",
            "commitments": {
                "local_txid": "",
                "remote_txid": "",
                "remote_pending_txid": "",
                "local_commit_fee_sat": "0",
                "remote_commit_fee_sat": "0",
                "remote_pending_commit_fee_sat": "0"
            },
            "closing_txid": ""
        },
        {
            "channel": {
                "remote_node_pub": "03627ebe50fc6eb80b0caab0c3714958c701eda735e3c29588e83150d6d4a93976",
                "channel_point": "f0d034a17bc26549644a8a24e14c4ba7cc6a8b8b8359a1f6b887f38bcde3c900:1",
                "capacity": "2000000",
                "local_balance": "0",
                "remote_balance": "0",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "STATIC_REMOTE_KEY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "ChanStatusLocalDataLoss|ChanStatusRestored"
            },
            "limbo_balance": "0",
            "commitments": {
                "local_txid": "",
                "remote_txid": "",
                "remote_pending_txid": "",
                "local_commit_fee_sat": "0",
                "remote_commit_fee_sat": "0",
                "remote_pending_commit_fee_sat": "0"
            },
            "closing_txid": ""
        }
    ]
}


Again, both channels mentioned above are showing as "closing" in the UI of the node application (Umbrel).  Any suggestions will be greatly appreciated, should I just continue waiting? is there a way to forceclose the channels in "closing" status? Huh

Thank you very much in advance.

Sincerely,
Jump to: