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

besu does not stop gracefully if stopped soon after starting - DNSDaemon error #8256

Open
macfarla opened this issue Feb 6, 2025 · 0 comments
Labels
bug Something isn't working P4 Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)

Comments

@macfarla
Copy link
Contributor

macfarla commented Feb 6, 2025

If I stop besu soon after startup, I get an exception. Seems like something related to DNSDaemon is not exiting correctly under these circumstances.

Steps to Reproduce

  1. besu
  2. wait until logs show "Ethereum main loop is up" (and maybe wait another 5 seconds)
  3. ctrl-c to stop Besu

Expected behavior: [What you expect to happen]
Expect besu to stop gracefully, as it does if I wait for a minute longer

Graceful stop -

2025-02-06 10:03:37.854+10:00 | main | INFO  | Runner | Ethereum main loop is up.
2025-02-06 10:04:37.889+10:00 | EthScheduler-Timer-0 | INFO  | PivotSelectorFromSafeBlock | Waiting for consensus client, this may be because your consensus client is still syncing

^C2025-02-06 10:05:20.933+10:00 | BesuCommand-Shutdown-Hook | INFO  | DefaultSynchronizer | Stopping synchronizer
2025-02-06 10:05:20.934+10:00 | BesuCommand-Shutdown-Hook | INFO  | SnapSyncDownloader | Stopping sync
2025-02-06 10:05:20.934+10:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Stopping Network.
2025-02-06 10:05:20.935+10:00 | BesuCommand-Shutdown-Hook | INFO  | DNSDaemon | Stopping DNSDaemon for enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net
2025-02-06 10:05:20.938+10:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | Stopping eth Subprotocol.
2025-02-06 10:05:20.938+10:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | eth Subprotocol stopped.
2025-02-06 10:05:20.941+10:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Network stopped.
2025-02-06 10:05:20.945+10:00 | BesuCommand-Shutdown-Hook | INFO  | AutoTransactionLogBloomCachingService | Shutting down Auto transaction logs caching service.
2025-02-06 10:05:20.948+10:00 | BesuCommand-Shutdown-Hook | INFO  | NatService | No NAT environment detected so no service could be stopped
2025-02-06 10:05:20.952+10:00 | vert.x-virtual-thread-3033 | INFO  | DNSDaemon | Stopping DNSDaemon for enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net

Actual behavior: [What actually happens]

2025-02-06 10:02:31.076+10:00 | main | INFO  | Runner | Ethereum main loop is up.
^C2025-02-06 10:02:33.072+10:00 | BesuCommand-Shutdown-Hook | INFO  | DefaultSynchronizer | Stopping synchronizer
2025-02-06 10:02:33.073+10:00 | BesuCommand-Shutdown-Hook | INFO  | SnapSyncDownloader | Stopping sync
2025-02-06 10:02:33.074+10:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Stopping Network.
2025-02-06 10:02:33.078+10:00 | BesuCommand-Shutdown-Hook | INFO  | DNSDaemon | Stopping DNSDaemon for enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net
2025-02-06 10:02:33.088+10:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | Stopping eth Subprotocol.
2025-02-06 10:02:33.088+10:00 | BesuCommand-Shutdown-Hook | INFO  | EthProtocolManager | eth Subprotocol stopped.
2025-02-06 10:02:33.088+10:00 | BesuCommand-Shutdown-Hook | INFO  | NetworkRunner | Network stopped.
2025-02-06 10:02:33.088+10:00 | BesuCommand-Shutdown-Hook | INFO  | AutoTransactionLogBloomCachingService | Shutting down Auto transaction logs caching service.
2025-02-06 10:02:33.089+10:00 | BesuCommand-Shutdown-Hook | INFO  | NatService | No NAT environment detected so no service could be stopped
2025-02-06 10:02:33.090+10:00 | vert.x-virtual-thread-81 | INFO  | DNSDaemon | Stopping DNSDaemon for enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net
2025-02-06 10:02:33.116+10:00 | vert.x-eventloop-thread-3 | WARN  | DefaultPromise | An exception was thrown by io.vertx.core.impl.future.PromiseImpl.operationComplete()
java.util.concurrent.RejectedExecutionException
	at io.vertx.core.impl.ThreadPerTaskExecutorService.execute(ThreadPerTaskExecutorService.java:95)
	at io.vertx.core.impl.TaskQueue.execute(TaskQueue.java:149)
	at io.vertx.core.impl.WorkerExecutor.execute(WorkerExecutor.java:60)
	at io.vertx.core.impl.ContextImpl.execute(ContextImpl.java:300)
	at io.vertx.core.impl.ContextImpl.execute(ContextImpl.java:288)
	at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:57)
	at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:259)
	at io.vertx.core.Promise.complete(Promise.java:66)
	at io.vertx.core.impl.future.PromiseImpl.operationComplete(PromiseImpl.java:65)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
	at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
	at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625)
	at io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:97)
	at io.vertx.core.dns.impl.DnsClientImpl$Query.handle(DnsClientImpl.java:352)
	at io.vertx.core.dns.impl.DnsClientImpl$1.channelRead0(DnsClientImpl.java:90)
	at io.vertx.core.dns.impl.DnsClientImpl$1.channelRead0(DnsClientImpl.java:84)
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
	at io.netty.channel.kqueue.KQueueDatagramChannel$KQueueDatagramChannelUnsafe.readReady(KQueueDatagramChannel.java:442)
	at io.netty.channel.kqueue.AbstractKQueueChannel$AbstractKQueueUnsafe.readReady(AbstractKQueueChannel.java:387)
	at io.netty.channel.kqueue.KQueueEventLoop.processReady(KQueueEventLoop.java:218)
	at io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:296)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:1570)

Frequency: [What percentage of the time does it occur?]
50% of the time IF stopped immediately after starting

Versions (Add all that apply)

  • Software version: [besu --version]
  • besu/v25.2-develop-a818793/osx-aarch_64/oracle_openjdk-java-22
  • Java version: [java -version]
  • openjdk version "22" 2024-03-19
@macfarla macfarla added bug Something isn't working P4 Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character) labels Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P4 Low (ex: Node doesn't start up when the configuration file has unexpected "end-of-line" character)
Projects
None yet
Development

No branches or pull requests

1 participant