lnd: [bug]: The problem with processing IP & Alias from a gossip protocol?

Background

The problem with the announcement of Alias + IP addresses of LND servers after changing IP & Alias. Most of the network does not see the changes made in LND 0.15.4-beta after the server was moved to a new IP and the Alias was changed (even after a week). At the same time, most of my other nodes do not see these changes (roughly speaking, 3/4 nodes or more). There is clearly some kind of bug.

Your environment

  • version of lnd 0.15.4-beta

Steps to reproduce

Change the IP and Alias and do this at least 3-4 times with different nodes. I think at least on one you will see that other nodes of the network will not see changes about him in the graph even after a week.

Expected behaviour

Changes to IP and Alias should occur fairly quickly on other nodes of the network. Otherwise, it doesn’t make sense to use Lightning.

Actual behaviour

Example - more than a week ago I moved lnd-02 to another server, the IP address was changed and I changed the Alias. At first I thought the problem was that I changed the externalip option to externalhosts for simplification (+ /etc/hosts for this). But afterwards I tried to go back to the externalip option again (with certain IP address) and restarted the lnd server many times. But it didn’t help, so I returned the externhosts option. Now I suppose it doesn’t matter which of the two options is used.

For example, lnd-02 was moved to another server now it’s lnd-25. But even after a week, even my other nodes see it as (lncli getnodeinfo):

lnd-05, lnd-26:

        "pub_key": "03d37fca0656558de4fd86bbe490a38d84a46228e7ec1361801f54f9437a18d618",
        "alias": "LNBIG.com [lnd-25/old-lnd-02]",
        "addresses": [
            {
                "network": "tcp",
                "addr": "213.174.156.69:9735"
            }
        ],

lnd-20, lnd-21, lnd-27, lnd-28, lnd-39, lnd-40 (old IP & Alias!):

        "pub_key": "03d37fca0656558de4fd86bbe490a38d84a46228e7ec1361801f54f9437a18d618",
        "alias": "LNBIG.com [lnd-02]",
        "addresses": [
            {
                "network": "tcp",
                "addr": "46.229.165.138:9735"
            }
        ],

The lnd-25 (old lnd-02) itself now is:

l getinfo
{
    "version": "0.15.4-beta commit=v0.15.4-beta",
    "commit_hash": "96fe51e2e5c2ee0c97909499e0e96a3d3755757e",
    "identity_pubkey": "03d37fca0656558de4fd86bbe490a38d84a46228e7ec1361801f54f9437a18d618",
    "alias": "LNBIG.com [lnd-25/old-lnd-02]",
    "color": "#3399ff",
    "num_pending_channels": 0,
    "num_active_channels": 84,
    "num_inactive_channels": 200,
    "num_peers": 85,
    "block_height": 765487,
    "block_hash": "0000000000000000000023bd2e094e70822bd9dccd2e63ed4ae253e810af94c3",
    "best_header_timestamp": "1669910883",
    "synced_to_chain": true,
    "synced_to_graph": true,
    "testnet": false,
    "chains": [
        {
            "chain": "bitcoin",
            "network": "mainnet"
        }
    ],
    "uris": [
        "03d37fca0656558de4fd86bbe490a38d84a46228e7ec1361801f54f9437a18d618@213.174.156.69:9735"
    ],
...

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 39 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Okay, you can check out the branch pr-7186-v0-15-5-branch which is v0.15.5-beta with a rebased version of #7186 on top. So git fetch && git checkout pr-7186-v0-15-5-branch.

Question - I am currently doing this on lnd-25 (old lnd-02), but if the problem is on the receiving nodes of gossip, then it turns out that I need to run this version on the contrary - on all other nodes except lnd-25?

The PR is on top of master which contains some DB migrations and would make it impossible for you to revert back to v0.15.5. So let me just do this quickly, one moment.

Sure, if you think the patch is working it might make sense to roll it out more widely.

Now, after a little thought, it seems to me that it is very important to apply the patch not to me, but so that it is applied in the new release as soon as possible (@Roasbeef ?)! It may be that by fixing myself, I will solve the problem of updating IP addresses in the graph only between my nodes and some that are connected to me. But this will not solve the problems about the main part of the network - they will still have the old IP addresses. Just because they have the current version of LND (1ml, amboss and other big nodes)!

I still believe that the problem may be due to what I described here:

https://github.com/lightningnetwork/lnd/issues/7223#issuecomment-1335180169

I agree that the problem may be that the problem is not in sending update nodes messages, but in their processing when received by the LND itself. Is your abbreviation cln - it’s c-lightning software? All my other nodes are LND, and 3/4 of them have the old data of the former lnd-02. Same with the other nodes I moved three days ago.

Yes, i’m running core lightning. I just checked all the nodes you mentioned, i can see the new alias/ip address on all of them. Checking on amboss (as they run lnd) vs my data, lnd-33 is the only other i could find thats wrong there, but okay in my gossip data.