Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug]: Neutrino pruning of channels not working properly #9547

Open
ziggie1984 opened this issue Feb 24, 2025 · 0 comments
Open

[bug]: Neutrino pruning of channels not working properly #9547

ziggie1984 opened this issue Feb 24, 2025 · 0 comments
Labels
bug Unintended code behaviour neutrino Lightweight neutrino backend-type refactoring

Comments

@ziggie1984
Copy link
Collaborator

ziggie1984 commented Feb 24, 2025

Background

It seems like we are progressing our view on the chain although we are not really able to fetch the block in time. The node runner tried to close its channel which confirmed successfully onchain, however LND did not prune the graph correctly. This error was observed when finally updating the channel policies where the following error occured because the problem is, the channel is still in the graph_db, but not in the openChanBucket which causes this error when updating:

{
    "failed_updates": [
        {
            "outpoint": "xxx:0",
            "reason": "UPDATE_FAILURE_INVALID_PARAMETER",
            "update_error": "channel not found"
        }
    ]
}

And we still see the channel in the graphdb:

$ lncli getchaninfo ??
{
    "channel_id":  "??",
    "chan_point":  "??:0",
    "last_update":  1740174524,
    "node1_pub":  "??",
    "node2_pub":  "??",
    "capacity":  "???",
    "node1_policy":  {
        "time_lock_delta":  144,
        "min_htlc":  "1000",
        "fee_base_msat":  "1000",
        "fee_rate_milli_msat":  "1000",
        "disabled":  true,
        "max_htlc_msat":  "???",
        "last_update":  1740174524,
        "custom_records":  {},
        "inbound_fee_base_msat":  0,
        "inbound_fee_rate_milli_msat":  0
    },
    "node2_policy":  {
        "time_lock_delta":  80,
        "min_htlc":  "1000",
        "fee_base_msat":  "1000",
        "fee_rate_milli_msat":  "1",
        "disabled":  true,
        "max_htlc_msat":  "???",
        "last_update":  1740174491,
        "custom_records":  {},
        "inbound_fee_base_msat":  0,
        "inbound_fee_rate_milli_msat":  0
    },
    "custom_records":  {}
}

and the logs showed that the relevant block that closed the channel could not be fetched in time:

BTCN: Unable to process block connected (height=???, hash=???): did not get response before timeout

This should be fixed with the neutrino fetching refactor

Your environment

  • version of lnd: 18.5
  • version of btcd, bitcoind, or other backend: neutrino
@ziggie1984 ziggie1984 added bug Unintended code behaviour neutrino Lightweight neutrino backend-type refactoring labels Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Unintended code behaviour neutrino Lightweight neutrino backend-type refactoring
Projects
None yet
Development

No branches or pull requests

1 participant