Closed garyschulte closed 2 months ago
@matthew1001 any insight into this?
Possibly this issue is limited to docker (e.g. if ipv6 isn't enabled) - could be an ethdocker config issue?
I'll have a look in the morning, but it sounds like some nodes set an ipv6 from
address but Besu isn't able to create peer connections to them. I'll take a look.
may be some context here https://github.com/hyperledger/besu/pull/2970
This was encountered in eth-docker, so it could well be that ipv6 networking is not supported out-of-the-box. Protocol support would likely be tricky to trap and filter for. We might be better served to have a record type for the host that has the udp source and the ping packet data from address, so we can fall back on connection fail rather than pre-filtering.
@yorickdowne , FYI
Thinking about it again, a better alternative would be to detect at startup of the peer discovery agent whether ipv6 is addressable or not and filter accordingly.
This is correct. V6 support in Docker is a bit of a lift. Eth Docker has instructions; I am not sure whether I am doing anything to configure Besu. This requires a) changes to Docker’s config and b) changes to Eth Docker’s config.
I have Besu as “Besu: Possibly no advertisement, no explicit discv5 option”. Happy to change that to “yes” if it has v6 support.
There’s a separate worry about v6 bootnodes. Should likely not be discussed in this issue.
It might be that the error handling in https://github.com/hyperledger/besu/blob/3646d78c2ff7c5451318f63dd5f6d8fd5a6962b2/ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/VertxPeerDiscoveryAgent.java#L210 could be extended to put out a friendlier message, like the existing ...this is likely due to ipv6 not being enabled at runtime
message.
I've seen reports of more of this since 24.3.0...
Igor Zanella — 15/03/2024 21:05 Hi, I've configured Besu 2 days ago and I let it do the sync, but after the block import is giving the next error VertxPeerDiscoveryAgent | Sending to peer DiscoveryPeer{status=bonding,...... stacktrace: io.netty.channel.unix.Errors$NativeIoException: sendToAddress(..) fail ed: Address family not supported by protocol What could it be? I'm not running it in a docker, directly on Ubuntu. It seems something involved with IPv6. Thank you
René — 13/03/2024 08:24 I am getting this warning after upgrading to V24.3.0. Is this a problem? 2024-03-12 20:44:04.639+00:00 | vert.x-eventloop-thread-1 | WARN | VertxPeerDiscoveryAgent | Sending to peer DiscoveryPeer{status=bonding, enode=enode://xxx, firstDiscovered=1710281618261, lastContacted=0, lastSeen=1710281618261} failed, native error code -1, packet: 0x141bd9113d611ef2f650e5ed0c6d4453fdd2f2e6415c6803c36358ceb376439789b55d86476e4f06391a1b01c8678dc1b533c9273fc04515895f46d7bee38ae80b9d9369d52a81d6e4e90e816355e3ae1ae0ce682b73953ca57c7ab008486dea0101df05cb847f00000182765f82765fcb84c0a864088276618276618465f0d3e828, stacktrace: io.netty.channel.unix.Errors$NativeIoException: sendToAddress(..) failed: Operation not permitted
^(likely upgraded from 24.1.0 -> 24.3.0 , not a Docker user)
Note, I played https://github.com/hyperledger/besu/pull/6728 to move the WARN to DEBUG but wondering if that was the correct thing to do - maybe there is some action they could (should?) take given the following @matthew1001 ?
could be extended to put out a friendlier message, like the existing ...this is likely due to ipv6 not being enabled at runtime message.
Description
Since #6224, we are seeing a lot of ipv6 protocol errors from ping packet data with an ipv6 from address, e.g.:
Acceptance Criteria
Steps to Reproduce (Bug)
main
Expected behavior: [What you expect to happen] No errors responding to peer discoveruy
Actual behavior: [What actually happens] ping packets with ipv6 from addresses fail
Frequency: [What percentage of the time does it occur?] 100%
Logs (if a bug)
Versions (Add all that apply)