besu: IPv6 peers cause an exception

Description

IPv6 peers cause an exception, UnsupportedAddressType.

execution_1  | 2021-10-12 11:53:39.760+02:00 | vert.x-eventloop-thread-2 | WARN  | PeerDiscoveryAgent | Sending to peer DiscoveryPeer{status=bonding, enode=enode://4cb0b81ff60a8a96cf52c4d82739fc5a10287e60e4af79be04ef3ec882b6732604968189e141ccf2680d29870cde11940c406bd308c623eea13e010305c5e905@[240e:3b2:4e17:d990:292e:5907:1bdb:75c0]:30312, firstDiscovered=1634032393381, lastContacted=0, lastSeen=0} failed, packet: 0x938d964c3353e1fbbefa97676b7b0d5d1d895187292936ac3a42c89a8cbd4ea8e15ce106b88cdf7d85bf7858ae66b76f664b9eca02f71485bd7d6ca5ecf3ac757b72fc1cc535bb54ff3e72022af552c5b4ecaa470d06ddcae7e3254a975ad8b30001eb05cb847f00000182765f82765fd790240e03b24e17d990292e59071bdb75c08276688276688461655b5f0e
execution_1  | java.nio.channels.UnsupportedAddressTypeException
execution_1  |  at java.base/sun.nio.ch.Net.checkAddress(Unknown Source)
execution_1  |  at java.base/sun.nio.ch.DatagramChannelImpl.send(Unknown Source)
execution_1  |  at io.netty.channel.socket.nio.NioDatagramChannel.doWriteMessage(NioDatagramChannel.java:296)
execution_1  |  at io.netty.channel.nio.AbstractNioMessageChannel.doWrite(AbstractNioMessageChannel.java:143)
execution_1  |  at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:949)
execution_1  |  at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
execution_1  |  at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:913)
execution_1  |  at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
execution_1  |  at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
execution_1  |  at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765)
execution_1  |  at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
execution_1  |  at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758)
execution_1  |  at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808)
execution_1  |  at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
execution_1  |  at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
execution_1  |  at io.vertx.core.datagram.impl.DatagramSocketImpl.doSend(DatagramSocketImpl.java:280)
execution_1  |  at io.vertx.core.datagram.impl.DatagramSocketImpl.lambda$send$2(DatagramSocketImpl.java:268)
execution_1  |  at io.vertx.core.impl.AddressResolver.lambda$null$0(AddressResolver.java:88)
execution_1  |  at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
execution_1  |  at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38)
execution_1  |  at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
execution_1  |  at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
execution_1  |  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
execution_1  |  at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
execution_1  |  at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
execution_1  |  at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
execution_1  |  at java.base/java.lang.Thread.run(Unknown Source)

Versions (Add all that apply)

  • Software version: besu/v21.10.0-RC1/linux-x86_64/adoptopenjdk-java-11
  • OS Name & Version: Ubuntu 20.04
  • Docker Version: 20.10.7

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

I’ve typically seen this start spamming me once Besu is caught up with initial sync, so after 4 days or so. I am currently syncing again, let me see how it behaves once it’s done and what the logs say.