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

Some aliases no longer visible in listnodes #3194

Closed
ghost opened this issue Oct 21, 2019 · 21 comments · Fixed by #3262
Closed

Some aliases no longer visible in listnodes #3194

ghost opened this issue Oct 21, 2019 · 21 comments · Fixed by #3262

Comments

@ghost
Copy link

ghost commented Oct 21, 2019

I automatically find aliases via: lightning-cli listnodes

Since I updated to v0.7.3some aliases are no longer part of listnodes. The IDs are there but without aliases. I suspect it happens with c-lightning versions <= 0.7.2. LND and Eclair aliases seem the same (see my website and look for alias_unknown)

For example ln.rene-pickhardt.de. The node ID is in listnodes (I even have a channel with that node) but without the alias.

getinfo output

Alias: Bitkoins.nl
Version: v0.7.3rc3"

@darosior
Copy link
Collaborator

Since I updated to v0.7.3

Which version ? There has been some gossip fixups between the rcs.

@ghost
Copy link
Author

ghost commented Oct 22, 2019

Version: v0.7.3rc3 (that was written under getinfo output.) but the problem started already with rc2.

@niftynei
Copy link
Collaborator

niftynei commented Oct 22, 2019

missing aliases is a side-effect of your node not having the node_announcement gossip message for that node.

prior RC's of c-lightning weren't being very aggressive with pushing out their own node_announcements, see #3152

@ghost
Copy link
Author

ghost commented Oct 22, 2019

@niftynei So it's only a problem with c-lightning versions 0.7.3.rc1 and/or 0.7.3.rc2 or also with older versions of c-lightning? If only with the two rcs, I will close the issue.

@whitslack
Copy link
Collaborator

It was a problem in 0.7.2 too. See #2969.

I am still experiencing the issue on 0.7.3rc3. Even after my node has been running for three days on 0.7.3rc3, I am still missing node announcements for a sizable fraction of my connected peers.

@niftynei
Copy link
Collaborator

niftynei commented Oct 24, 2019

There are two issues to discuss here, which have the same net result— your node appears to be missing aliases for other nodes.

In the case of “my node is missing alias information from recent c-lightning nodes”, this is likely due to them not sending them very aggressively. #3152 addresses this, but requires affected nodes to upgrade

In the case of “Im missing large swaths of aliases from nodes, not just from clightning peers”, this is typically a result of not asking our peers for a wide enough range to net the missing information. It should be fixed in RC3 (we now look for a wide range of missing node announcements to ask our peers about). If you’re still having trouble, you can give it a kick by deleting* your gossip store, this will resync all the gossip en masse. Note that if the reason they’re missing is because the above issue, this won’t do much to help as it’s unlikely your peers have the missing information either.

*i.e. stop your node, rename the gossip store to gossip_store.bak, restart node

@whitslack
Copy link
Collaborator

@niftynei: Thanks for the clarifications. Even if I don't zap my gossip_store, shouldn't my node eventually fill in all the node announcements it's missing just due to routine gossip refreshes? How long is that expected to take?

@niftynei
Copy link
Collaborator

@whitslack well that depends on why the announcements are missing. assuming that they’re relatively well represented on other nodes, they should get picked up by the gossip seeker eventually. I’d need to check but I believe it was changed to run once every ~24hrs

@whitslack
Copy link
Collaborator

whitslack commented Oct 24, 2019

@niftynei: 100 of my 386 peers are showing no alias and no color after my node has been up for 62 hours. Does this suggest that the seeker is malfunctioning?

$ lightning-cli listpeers | jq -r '.peers[] | .id' | xargs -d'\n' -n1 lightning-cli listnodes | jq '.nodes[] | has("alias") or has("color")' | awk '{ counts[$0]++ } END { for (value in counts) print value, counts[value] }'
false 100
true 286

@ghost
Copy link
Author

ghost commented Oct 24, 2019

I've updated to the latest version (v0.7.3rc3-2-g0985c6e), removed the gossip_store (like I've done before) and the problem is still there for some nodes (probably only with c-lightning nodes).

Using whitslack's command:

false 7
true 13

@darosior
Copy link
Collaborator

probably only with c-lightning nodes

Yep, I've seen this on my node and it's indeed only C-lightning nodes. They might not have upgraded yet.

@whitslack
Copy link
Collaborator

it's indeed only C-lightning nodes.

@darosior: How do you tell what software your peer is running? I'd love to instrument that, but I haven't found a way.

@darosior
Copy link
Collaborator

darosior commented Oct 24, 2019

@darosior: How do you tell what software your peer is running? I'd love to instrument that, but I haven't found a way.

Actually checking 1ML ^^
On this one you can give personal informations, and the node I'm connected to did. You could also check messages but it's more complicated..

@ghost
Copy link
Author

ghost commented Oct 24, 2019

@whitslack I only know they are c-lightning nodes because I decided to only connect to c-lightning nodes a couple of months ago when I was often getting fatal errors with LND nodes (this issue has now been resolved by ignoring these error messages). I found the c-lightning nodes looking for node IDs in the issues. Nevertheless an interesting question.

@darosior
Copy link
Collaborator

@whitslack I only know they are c-lightning nodes because I decided to only connect to c-lightning nodes a couple of months ago when I was often getting fatal errors with LND nodes (this issue has now been resolved by ignoring these error messages). I found the c-lightning nodes looking for node IDs in the issues. Nevertheless an interesting question.

Unfortunately so I did...

@poperbu
Copy link

poperbu commented Oct 29, 2019

I updated my node from 7.2 to 7.3 and I have the same problem. only 1038 of 4615 listed nodes are not empty.

@darosior
Copy link
Collaborator

Hello @poperbu, it must be due to the remote side which has not updated yet

@poperbu
Copy link

poperbu commented Oct 29, 2019

ok, I understand now,...so We need to wait that all nodes update their info? It is a problem for plugins and tools that use listnodes calls, if we need to wait long time to know the alias...

@whitslack
Copy link
Collaborator

As much as I would love to believe that 114 of my 392 peers are running buggy C-Lightning release candidates, I think we all know that C-Lightning just isn't that popular. No, our lack of node announcements is not solely due to a plethora of buggy C-Lightning release candidates running in the wild. It is evident that there is still a logic error in the gossip code of C-Lightning 0.7.3.

rustyrussell added a commit to rustyrussell/lightning that referenced this issue Nov 15, 2019
It really, really doesn't matter.  But we were dramatically reducing
our view of the network:

In my gossip_store (mainnet):
  channel_announcement: 30349
  channel_update: 55119
  node_announcment: 1783

Changelog-Fixed: No longer discard most node_announcements (fixes ElementsProject#3194)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
cdecker pushed a commit that referenced this issue Nov 15, 2019
It really, really doesn't matter.  But we were dramatically reducing
our view of the network:

In my gossip_store (mainnet):
  channel_announcement: 30349
  channel_update: 55119
  node_announcment: 1783

Changelog-Fixed: No longer discard most node_announcements (fixes #3194)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@ghost
Copy link
Author

ghost commented Nov 15, 2019

Yep, this commit solves the issue. Thanks to all!

@rustyrussell
Copy link
Contributor

OK, if you want to fix existing nodes, I've written a script to do so. I've appended it to the Release files, along with a canned set of node_announcements for mainnet

https://github.com/ElementsProject/lightning/releases/download/v0.7.3/insert-unknown-nodes.sh
https://github.com/ElementsProject/lightning/releases/download/v0.7.3/node-announces.tar.xz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants