Skip to content

[bug]: Multiple asset channels have been force-closed #1645

@shuishihang

Description

@shuishihang

litd -- v0.15.0-alpha
tapd -- v0.6.0
lnd -- v0.19.1-beta

My node has established one BTC channel + one asset channel with multiple peers. Every 10 minutes, I use Keysend to send an asset payment to all peer asset channels. Since each asset transfer also includes 354 sats, the peers respond by sending back 354 sats to me via Keysend.

However, I don’t understand why some of these asset channels suddenly entered a force-closed state. Out of 200 asset channels, 7 have been force-closed, and they remain stuck in an unresolved state (unable to fully close).

  "pending_force_closing_channels": [
        {
            "channel": {
                "remote_node_pub": "02094b89eca31f623af2d4fe2bf0fe52828c9816bf23573bb94f3938ce44c5a621",
                "channel_point": "02e194f26ed80c39363f3bf889271525ea98f37e1aba3656596c0a7d43d40c09:0",
                "capacity": "20000",
                "local_balance": "8855",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9837900184
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 162099816
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9837900184,
                    "remote_balance": 162099816,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "937ab4d5c847eb7bde242e16a64f0a6d794dd3dba976b1b327a06f77b2feacc6",
            "limbo_balance": "8855",
            "maturity_height": 904956,
            "blocks_til_maturity": -55,
            "recovered_balance": "330",
            "pending_htlcs": [],
            "anchor": "RECOVERED"
        },
        {
            "channel": {
                "remote_node_pub": "020686ae2a3a54897ef8098ff3ac0541cd09b2ce6296dc8d5c8b757d5ce14d6d96",
                "channel_point": "afc7179f513ed1651d0a950a184a05c68fc2b080b777d021418d7a9071dc4964:0",
                "capacity": "20000",
                "local_balance": "8088",
                "remote_balance": "10708",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9999619484
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 380516
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9999619484,
                    "remote_balance": 380516,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "70aa87e5a77013fcc51af00c3b2fb0c17aefc9116951d3a7b35f31d42a187bc7",
            "limbo_balance": "8418",
            "maturity_height": 904806,
            "blocks_til_maturity": -205,
            "recovered_balance": "0",
            "pending_htlcs": [],
            "anchor": "LIMBO"
        },
        {
            "channel": {
                "remote_node_pub": "021b161cc6bbdce722d07514f9c72badb6843433084d4c67bd1842fc48c2e363b6",
                "channel_point": "db5b335293c4f7d736e5dab6ac2972f7c7023d0680dde71d9dccfb74d9125581:0",
                "capacity": "20000",
                "local_balance": "8855",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9814878966
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 185121034
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9814878966,
                    "remote_balance": 185121034,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "6233e886a9d39c0d40cac8997c2f91b8224b70eb055440982c38580b5ca68596",
            "limbo_balance": "8855",
            "maturity_height": 904956,
            "blocks_til_maturity": -55,
            "recovered_balance": "330",
            "pending_htlcs": [],
            "anchor": "RECOVERED"
        },
        {
            "channel": {
                "remote_node_pub": "0319698624fba54edce6626bbfd7d0a74e2359436272efedbf35467d866cb57c01",
                "channel_point": "00a26943dd10aa14368f7214a2710596cae67ec237ddb94ae7994e5e9909a5c2:0",
                "capacity": "20000",
                "local_balance": "8855",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9976978782
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 23021218
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9976978782,
                    "remote_balance": 23021218,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "ad547d90dc2463d3eb55dc72baedc10d4bfef88d41c38381b5fcf3373f65bf9b",
            "limbo_balance": "8855",
            "maturity_height": 905068,
            "blocks_til_maturity": 57,
            "recovered_balance": "330",
            "pending_htlcs": [],
            "anchor": "RECOVERED"
        },
        {
            "channel": {
                "remote_node_pub": "03c1ea3853a96531f72954e0f4f66bcb3e0542f10c46c8b0da0e6f3191e97dbb88",
                "channel_point": "d733afb11ef653f8063770605a23931258b886df77a4f9c91b2fc14db2447bce:0",
                "capacity": "20000",
                "local_balance": "8796",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9950913436
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 49086564
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9950913436,
                    "remote_balance": 49086564,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "af7313d030694612df2ab0e363062413d274860fca844e74febea1e4df99cdbd",
            "limbo_balance": "9126",
            "maturity_height": 904835,
            "blocks_til_maturity": -176,
            "recovered_balance": "0",
            "pending_htlcs": [],
            "anchor": "LIMBO"
        },
        {
            "channel": {
                "remote_node_pub": "03c8a8d79e54eaee93c2b9ecc0fd4d2224c1a4e31c5e12bedc62ee0fb9b6e2ca69",
                "channel_point": "032d3b9165353be967a2891a2b6e4c578b181ceae62165a0423e1da2f76cdada:0",
                "capacity": "20000",
                "local_balance": "8856",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9999238968
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 761032
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9999238968,
                    "remote_balance": 761032,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "ef93c27b2fa151959f0d711a9498c0896bd607d04671963da095cf96bc43740b",
            "limbo_balance": "9186",
            "maturity_height": 905005,
            "blocks_til_maturity": -6,
            "recovered_balance": "0",
            "pending_htlcs": [],
            "anchor": "LIMBO"
        },
        {
            "channel": {
                "remote_node_pub": "0213843878d8c02d753966c985a1159ea6d7b61f92a7e8193142258ff3666bb180",
                "channel_point": "f290d6b997fd0294cdb847d4beb4655c364319d910c6c1cd08e77d40aa39c1e6:0",
                "capacity": "20000",
                "local_balance": "8855",
                "remote_balance": "10000",
                "local_chan_reserve_sat": "0",
                "remote_chan_reserve_sat": "0",
                "initiator": "INITIATOR_LOCAL",
                "commitment_type": "SIMPLE_TAPROOT_OVERLAY",
                "num_forwarding_packages": "0",
                "chan_status_flags": "",
                "private": true,
                "memo": "",
                "custom_channel_data": {
                    "funding_assets": [
                        {
                            "version": 1,
                            "asset_genesis": {
                                "genesis_point": "6163c6dd64dc8394a14a752b6de480c8da8991cc7f367a467135c1a2bb38c2c9:5",
                                "name": "LNT",
                                "meta_hash": "83acf6a925f04714026da39016d568c47c53aff1cb0f6d67f7c3f5bb6cf05be4",
                                "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c"
                            },
                            "amount": 10000000000,
                            "script_key": "0250aaeb166f4234650d84a2d8a130987aeaf6950206e0905401ee74ff3f8d18e6",
                            "decimal_display": 6
                        }
                    ],
                    "local_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 9896119132
                        }
                    ],
                    "remote_assets": [
                        {
                            "asset_id": "97b98f3c45f926057d430ef71f20a6d3e25d7a00fbd1d7b72b306a49d48c9d8c",
                            "amount": 103880868
                        }
                    ],
                    "outgoing_htlcs": [],
                    "incoming_htlcs": [],
                    "capacity": 10000000000,
                    "local_balance": 9896119132,
                    "remote_balance": 103880868,
                    "outgoing_htlc_balance": 0,
                    "incoming_htlc_balance": 0
                }
            },
            "closing_txid": "44529b0324f3f94f60db65bbed09dce0dc9d15adf2b7d8b183ae9f2e225255f5",
            "limbo_balance": "8855",
            "maturity_height": 905068,
            "blocks_til_maturity": 57,
            "recovered_balance": "330",
            "pending_htlcs": [],
            "anchor": "RECOVERED"
        }
    ],
    "waiting_close_channels": []
}

This is the log from the time period when one of the asset channels was force-closed. I extracted the logs from 2 minutes before and after the timestamp of the closing_txid (44529b0324f3f94f60db65bbed09dce0dc9d15adf2b7d8b183ae9f2e225255f5) on my node.

lnd.txt

This is the log snippet from the time window when one of the asset channels was force-closed. I’ve extracted logs covering 2 minutes before and after the timestamp of the closing_txid (44529b0324f3f94f60db65bbed09dce0dc9d15adf2b7d8b183ae9f2e225255f5) on my node.

I haven't yet obtained the counterparty's logs, but I'll share them as soon as they become available. Please let me know if you need any additional information - I'll be happy to provide whatever is needed for troubleshooting.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions