hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.49k stars 815 forks source link

Null pointer from DNS daemon #7505

Closed macfarla closed 1 month ago

macfarla commented 1 month ago

Null pointer from DNS daemon - reported in discord

besu 24.8.0

Node still running fine

Need to catch this exception - or ensure null is not passed to this method

I'm seeing this error now, thanks for any ideas on root cause.
2024-08-21 08:48:23.801-06:00 | main | INFO  | Runner | Ethereum main loop is up.

2024-08-21 08:48:24.322-06:00 | vert.x-virtual-thread-1 | ERROR | ContextImpl | Unhandled exception
java.lang.NullPointerException
        at java.base/java.util.Objects.requireNonNull(Objects.java:233)
        at org.apache.tuweni.io.Base32.decodeBytes(Base32.java:58)
        at org.hyperledger.besu.ethereum.p2p.discovery.dns.DNSEntry$ENRTreeLink.fromBase32(DNSEntry.java:251)
        at org.hyperledger.besu.ethereum.p2p.discovery.dns.DNSEntry$ENRTreeLink.<init>(DNSEntry.java:247)
        at org.hyperledger.besu.ethereum.p2p.discovery.dns.DNSResolver.collectAll(DNSResolver.java:90)
        at org.hyperledger.besu.ethereum.p2p.discovery.dns.DNSDaemon.refreshENRRecords(DNSDaemon.java:101)
        at io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:1051)
        at io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle(VertxImpl.java:1027)
        at io.vertx.core.impl.ContextImpl.emit(ContextImpl.java:328)
        at io.vertx.core.impl.ContextImpl.lambda$emit$5(ContextImpl.java:335)
        at io.vertx.core.impl.WorkerExecutor.lambda$execute$0(WorkerExecutor.java:68)
        at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
        at io.vertx.core.impl.ThreadPerTaskExecutorService.lambda$execute$0(ThreadPerTaskExecutorService.java:82)
        at java.base/java.lang.VirtualThread.run(VirtualThread.java:309)