lnd: [bug]: Invalid small transaction causing on-chain funds to be stuck in Pending state

Background

I am currently running a Lightning Network node using the Voltage service. Due to an invalid transaction of 147 sats, most of my on-chain funds are stuck in Pending state.

A brief history of the issue:

  1. In the past, the channel opening transaction fee was set too low, resulting in the channel not opening properly. I then force-closed the channel.
  2. The funds tied to the force-closed channel returned to my on-chain wallet.
  3. I thought everything was going smoothly until an invalid transaction of 147 sats propagated and caused the on-chain funds to be stuck in Pending state.
  4. With the help of a Voltage engineer, I performed wallet rescans three times, but the issue persists.
    • it seems that the problematic transaction was propagated during the rescan.

Your environment

  • version of lnd: 0.16.2-beta (exact version unknown)
  • operating system: N/A (hosted by Voltage)
  • backend: unknown (managed by Voltage)
  • any other relevant environment details: N/A

Steps to reproduce

  1. Run a Lightning Network node using the Voltage service.
  2. Upgrade the node to version 0.16.x.
  3. Encounter an invalid transaction of 147 sats that causes on-chain funds to be stuck in Pending state.
  4. Perform wallet rescans with the help of a Voltage engineer, but the issue persists.

Expected behaviour

The invalid transaction of 147 sats should not affect the on-chain funds, and they should not be stuck in Pending state.

Actual behaviour

The invalid transaction of 147 sats is causing the majority of my on-chain funds to be stuck in Pending state, and the issue persists even after performing wallet rescans.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 15 (1 by maintainers)

Most upvoted comments

@sogoagain, can you check if your issue is the same as in https://github.com/lightningnetwork/lnd/issues/7708?

Not sure what happened but lncli listunspent suddenly shows that the original input is now spendable and no longer pending, so I guess it resolved itself.

 "address_type": 4,
                        "address": "bc1pq438xnyuxjnxaaq49f8u9awmp3lc54lqj6asqkfj9rsfjcxge2rsyy48j9",
                        "amount_sat": 2170070,
                        "pk_script": "51200562734c9c34a66ef4152a4fc2f5db0c7f8a57e096bb00593228e09960c8ca87",
                        "outpoint": "c25349c4ad6c7a59359048ce1f28e5273a6b54783d47d147b785c3c3b1ba5437:1",
                        "confirmations": 862

This sweep tries to co-spend from a force close transaction’s outputs anchor_to_local and to_local, where the anchor was already swept by https://mempool.space/tx/60a74dd825094a29a5db68cd4e1dcbf7f031d300c9a7b8d1c954908aaef62be7#vin=4.

This was meant to be fixed by https://github.com/lightningnetwork/lnd/pull/7599.

Hi @sogoagain, I have a couple of questions:

  • What are the inputs/outputs for that 147 sat tx?
  • How does it relate to your other funds. For example the ones in this address?