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

Check if DNS seeder are working correctly and fix if required #4547

Closed
3 tasks
conradoplg opened this issue May 31, 2022 · 6 comments · Fixed by ZcashFoundation/dnsseeder#17
Closed
3 tasks
Assignees
Labels
C-enhancement Category: This is an improvement

Comments

@conradoplg
Copy link
Collaborator

conradoplg commented May 31, 2022

Motivation

I think there's an issue with our DNS seeder, but I couldn't manage to confirm it 100% (could be a DNS or network issue on my side).

To reproduce it:

  • Start Zebra with only mainnet.seeder.zfnd.org:8233 in initial_mainnet_peers
  • All connection attempts will fail, or maybe a single one will work

That would indicate that the DNS seeder is reporting offline peers for some reason.

Specifications

Designs

  • Try to reproduce the issue
  • If it's reproducible, investigate it and try to fix it
  • Create a new ticket if the issue is too complex

Related Work

@conradoplg conradoplg added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage labels May 31, 2022
@str4d
Copy link
Contributor

str4d commented May 31, 2022

Has the seeder's advertised protocol version been updated to 170100?

@conradoplg conradoplg changed the title Check if DNS seeders are working correctly and fix if required Check if DNS seeder are working correctly and fix if required May 31, 2022
@conradoplg
Copy link
Collaborator Author

Has the seeder's advertised protocol version been updated to 170100?

Yep, but I also tested this before NU5 activation, and the peers that are being returned by our seeder do not seem to respond to the TCP connection attempt by Zebra at all, so it doesn't seem to be a protocol version issue

@teor2345
Copy link
Contributor

I also reproduced this yesterday, but with a few nodes on the correct protocol version.

I think we should deploy a new seeder instance, swap over the fixed IP, and see if it has better peers.

@teor2345
Copy link
Contributor

I think it's likely to be this known seeder issue:
Enforce the minimum protocol version

@conradoplg
Copy link
Collaborator Author

I think it's likely to be this known seeder issue: Enforce the minimum protocol version

I wonder about this, though. I see that Zebra attempts to connect to the IPs returned by the seeder but the TCP connection fails to open. If it were just outdated peers, it would fail after the Zcash handshake, right?

In any case I'll try to investigate this more thoroughly.

@conradoplg
Copy link
Collaborator Author

conradoplg commented Jun 2, 2022

I think I found the issue.

Our seeder adds any connectable peer to the address book, even if it uses a non-default port.

However, when Zebra connects to an IP from the DNS seeder, it always use the default port since there's no way to know the port of the peer through DNS. And there seems to be a lot of nodes using non-default ports (mostly 16125)

I'll push a PR soon to fix this, but I'd like to check if my reasoning is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: This is an improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants