-
Notifications
You must be signed in to change notification settings - Fork 852
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
Besu cannot find peers, Geth runs fine #3939
Comments
I'm having the same issues on Goerli. Mainnet runs fine. Some potentially helpful logs
Edit: this issue may be related to #3323 |
User reported they were running V.22.4.2 of Besu |
ok it looks like there was an issue with this https://github.com/ethereum/discv4-dns-lists repo - which normally gets updated daily but was not updated for a few days - has been resolved (at least it was committed to on June 8th) and I have started a gorli node locally, with latest besu, |
Also note that 22.4.2 does not include the goerli bootnodes update from #3857 |
@Cryptizer69 and @poupas can you try again and let us know if you're still having this same issue? |
Version: besu/v22.4.2/linux-x86_64/openjdk-java-17 After 10 minutes, Besu seems to be keeping ~ 10 peers. It's currently syncing. Thank you! |
Is DNS discovery enabled by default? Rocket Pool does not enable it specifically. Should it? |
@poupas helped me try some commands since he got his setup working. The problem still persists in my setup. Here are some more of the same logs: eth1_1 | 2022-06-08 14:54:39.365+00:00 | EthScheduler-Timer-0 | INFO | AbstractRetryingPeerTask | No useful peer found, checking remaining current peers for usefulness: 3 |
@poupas DNS is not enabled by default. Technically it's still an experimental feature so we want folks to think about it before turning it on. |
@Cryptizer69 it's normal to see some log messages like that especially when your node first starts, it has to find peers via discovery. From my local testing just now it does seem to be taking a bit longer to find peers with SNAP sync (as opposed to default FAST sync) - I think because there are fewer compatible peers. Does your node get past that stage and actually get to doing the sync? If you are still having issues - can you share your config, if it's working for @poupas maybe there is something different with your setup? |
The problem still persists. I have a dedicated NUC 10 i7 32GB RAM, 2TB SSD. 1GB glassfiber bandwidth. Linux 20.04. Running Besu through the Rocketpool Smart Node stack edit: ports are open. Geth worked fine when I switched from Geth to Besu Keeps showing these logs: |
Thanks for the update @Cryptizer69. Will investigate further. |
Are you still having the same problem @Cryptizer69 - it seems like goerli has been a bit up and down. Also there might be some helpful suggestions here on DNS issues #3290 (comment) |
Yes, I let Besu run for 3 hours this afternoon and it still won't sync. I'll drop Besu for now and will check again in the future. Thanks |
I have the same issue on goerli as @Cryptizer69: Not syncing, even after 24 hours. Version: hyperledger/besu:22.4.3-openjdk-latest (via rocketpool 1.5.0 alpha 3).
I tried adding --Xdns-enabled=true but it doesn't help. Port 30304 TCP and UDP is open, verified with tcpdump and nmap from an outside host. Some log excerpts:
And this WARN, related to IPv6 I guess, which is disabled on my machine:
The DNSTimerTask seems to find a validated peer, which is soon again dropped somehow:
|
Since @macfarla mentioned that the SNAP syncmode can find less peers, I tried
|
we are taking a general look at peering with the aim of improving how quickly and efficiently besu finds peers. Having said that though, two things to note
If you are still having this issue, could you enable DEBUG logs for a time and see if there is any more useful info in there? |
Since it's still not syncing after I posted 2 days ago I enabled DEBUG. These messages stood out to me: Confirmation that inbound connections do work (ports are open):
The same peer is disconnected with SUBPROTOCOL_TRIGGERED.
Other disconnect reasons in the log:
Last there are various log messages due to what seems to be old/strange/misbehaving peers:
|
I'm experiencing this with checkpoint sync on Ropsten. One client pair worked fine, but nimbus-besu only ever manages to get 4/5 required peers. |
I did fix the problem by switching from a slower internet connection (6 mbps down, 1mbps up) to a faster one (100 mbps down, 30 mbps up). |
That's interesting. There is a timeout mechanism - if peers repeatedly don't respond within a specific time, they can be rejected. Will add this to the list of things to investigate. Thank you for the extra info. |
Closing this one as you've got a way forward. We're working on getting some recommended specs for running Besu which might help this type of issue in the future. |
I'm trying to switch from geth to besu and running into this issue on mainnet. besu doesn't seem to find any peers. I get this message repeatedly in the logs:
Using default port 30303 (like geth) for peer discovery and geth worked just fine. Port is open both in ufw and NAT router. Internet is fast enough, 1gbps down/250mbps up. Hardware is also "overkill". 32 gb RAM, 6-core [email protected]. Now while waiting a long time and writing above paragraph, something seems to finally happen after 45 min:
Resource usage went up and I now see log entries like below:
I assume it is syncing correctly now regardless of the waiting for peers messages? I'm using |
Thanks for your report @PerfectDark99 - yes if you're seeing "importing chain" messages, your node is syncing. And yes with checkpoint sync, you need peers with that exact checkpoint. Good idea to add a note to the docs. |
I'm having the same issues syncing with latest Rocketpool (1.6.0) + Besu (22.7.1). I'm trying to switch from Geth to Besu. Geth was working fine. It's been 24 hours and my logs are still:
Always 1 or 2 peers connected, it never gets to 3. Is there some way I can further debug this? |
getting no peer, port is forwarded, besu is literary stuck, 1Gbit in serverhouse, 16 core xeon, running docker image |
consider reopening this |
I have this message with a brand new private network. Is that normal? I can see all peers ( 5 ) are connected and communicating. Some nodes (3 of them) are X_SNAP and are talking each other. The other 2 FULL nodes are tell me they have peers but still waiting for sync ... |
@icemagno suggest you try adding fast-sync-min-peers=1 to your config (works for snap sync as well) - if that doesn't help, suggest asking your q on discord or opening a new issue with more info to help us investigate |
Ok. Seems I've figured out. In my case I just create more node keys and by accident regenerate the genesis file. While the genesis configuration still the same, the VALIDATORS addresses in "extraData" was changed causing the blockchain having no validators because I actually have not put the new nodes (generated keys) to run yet. By keeping the old 5 nodes running without any new ones the block generation stucks even having 4 peers connected because no one is a validator. I think this may affect many people because it is common (when starting a new blockchain) to test and regenerate nodes without changing the extraData of the genesis file. So in the end of day we lost the first nodes wich are validators. That's what I think was happened I think the Grafana panel may have the indication of how many validators exists or a new metric must be created. Yeah I know about the RPC method |
From https://besu.hyperledger.org/23.4.0/private-networks/how-to/configure/consensus/ibft |
Had no peers (over 10 hours) connecting with my node connected via ethernet powerline adapter (~30Mbs download speed). Connected directly to the router (moved the node) and the 300+ Mbs speed started syncing Besu immediately. 7% complete within 30 minutes of connecting directly to gateway router. I did also open ports 30303 and 9001 prior to moving the node. Node Specs |
I'm running Besu through Rocketpool on a machine with more than enough CPU and bandwidth to spare but it cannot find any peers. Ports are open and when I run Geth it does so without a problem.
Edit: I'm running Besu on Goerli
The text was updated successfully, but these errors were encountered: