12:22:42.333 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:42.334 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 12:22:42.334 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:42.334 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 12:22:42.335 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 12:22:42.335 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 12:22:42.336 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 12:22:42.339 [restconf-netty-subscription-1] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x75b5a943, L:/127.0.0.1:45068 - R:/127.0.0.1:36865] 12:22:42.541 [restconf-netty-subscription-3] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0xb1c8f3f9, L:/127.0.0.1:45080 - R:/127.0.0.1:36865] 12:22:42.745 [restconf-netty-subscription-2] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. See https://netty.io/wiki/reference-counted-objects.html for more information. Recent access records: Created at: io.netty.buffer.AdaptiveByteBufAllocator.newDirectBuffer(AdaptiveByteBufAllocator.java:67) io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:168) io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:159) io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:120) io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:120) io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:160) io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445) io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388) io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596) io.netty.channel.nio.NioIoHandler.processSelectedKeysOptimized(NioIoHandler.java:571) io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:512) io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484) io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) java.base/java.lang.Thread.run(Thread.java:1583) 12:22:44.684 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 12:22:44.684 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 12:22:44.684 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Apr 08, 2026 12:22:44 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@d076eaf} with executor MoreExecutors.directExecutor() java.lang.NullPointerException: Cannot invoke "org.opendaylight.mdsal.dom.api.DOMTransactionChain.newWriteOnlyTransaction()" because "this.txChain" is null at org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry.updateSubscriptionReceivers(MdsalRestconfStreamRegistry.java:558) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.updateOperationalDatastore(AbstractRestconfStreamRegistry.java:207) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.removeReceiver(AbstractRestconfStreamRegistry.java:190) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$1$1.removeRegistration(AbstractRestconfStreamRegistry.java:173) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.ChannelSender.endOfStream(ChannelSender.java:70) at org.opendaylight.restconf.server.spi.Subscriber.endOfStream(Subscriber.java:183) at java.base/java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4709) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:311) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:307) at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1132) at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1004) at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:469) at com.google.common.util.concurrent.FluentFuture$TrustedFuture.addListener(FluentFuture.java:114) at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1098) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.deleteSubscription(AbstractRestconfStreamRegistry.java:307) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.channelClosed(AbstractRestconfStreamRegistry.java:295) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.controlSessionClosed(AbstractRestconfStreamRegistry.java:380) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscriptionResource.removeRegistration(AbstractRestconfStreamRegistry.java:458) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.opendaylight.restconf.server.spi.DefaultTransportSession.removeRegistration(DefaultTransportSession.java:141) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.RestconfSession.channelInactive(RestconfSession.java:73) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelInactive(CombinedChannelDuplexHandler.java:416) at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:427) at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:392) at io.netty.channel.CombinedChannelDuplexHandler.channelInactive(CombinedChannelDuplexHandler.java:219) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1424) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:876) at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:676) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583) 12:22:44.687 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:44.687 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 12:22:44.687 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:44.687 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 12:22:44.688 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 12:22:44.689 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 12:22:44.689 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 12:22:44.690 [restconf-netty-subscription-2] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0xa43d4f28, L:/127.0.0.1:38830 - R:/127.0.0.1:45563] 12:22:44.894 [restconf-netty-subscription-4] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x069bd23b, L:/127.0.0.1:38834 - R:/127.0.0.1:45563] 12:22:47.026 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 12:22:47.026 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 12:22:47.026 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Apr 08, 2026 12:22:47 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@19ddea85} with executor MoreExecutors.directExecutor() java.lang.NullPointerException: Cannot invoke "org.opendaylight.mdsal.dom.api.DOMTransactionChain.newWriteOnlyTransaction()" because "this.txChain" is null at org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry.updateSubscriptionReceivers(MdsalRestconfStreamRegistry.java:558) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.updateOperationalDatastore(AbstractRestconfStreamRegistry.java:207) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.removeReceiver(AbstractRestconfStreamRegistry.java:190) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$1$1.removeRegistration(AbstractRestconfStreamRegistry.java:173) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.ChannelSender.endOfStream(ChannelSender.java:70) at org.opendaylight.restconf.server.spi.Subscriber.endOfStream(Subscriber.java:183) at java.base/java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4709) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:311) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:307) at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1132) at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1004) at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:469) at com.google.common.util.concurrent.FluentFuture$TrustedFuture.addListener(FluentFuture.java:114) at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1098) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.deleteSubscription(AbstractRestconfStreamRegistry.java:307) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.channelClosed(AbstractRestconfStreamRegistry.java:295) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.controlSessionClosed(AbstractRestconfStreamRegistry.java:380) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscriptionResource.removeRegistration(AbstractRestconfStreamRegistry.java:458) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.opendaylight.restconf.server.spi.DefaultTransportSession.removeRegistration(DefaultTransportSession.java:141) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.RestconfSession.channelInactive(RestconfSession.java:73) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelInactive(CombinedChannelDuplexHandler.java:416) at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:427) at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:392) at io.netty.channel.CombinedChannelDuplexHandler.channelInactive(CombinedChannelDuplexHandler.java:219) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1424) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:876) at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:676) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583) 12:22:47.028 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:47.029 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 12:22:47.029 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 12:22:47.029 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 12:22:47.030 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 12:22:47.030 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 12:22:47.030 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 12:22:47.031 [restconf-netty-subscription-3] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x5b5df4ad, L:/127.0.0.1:45856 - R:/127.0.0.1:43165] 12:22:47.235 [restconf-netty-subscription-5] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x9935b54e, L:/127.0.0.1:45870 - R:/127.0.0.1:43165] 12:22:49.265 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 12:22:49.265 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 12:22:49.265 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Apr 08, 2026 12:22:49 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@6a3fc2a} with executor MoreExecutors.directExecutor() java.lang.NullPointerException: Cannot invoke "org.opendaylight.mdsal.dom.api.DOMTransactionChain.newWriteOnlyTransaction()" because "this.txChain" is null at org.opendaylight.restconf.server.mdsal.MdsalRestconfStreamRegistry.updateSubscriptionReceivers(MdsalRestconfStreamRegistry.java:558) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.updateOperationalDatastore(AbstractRestconfStreamRegistry.java:207) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.removeReceiver(AbstractRestconfStreamRegistry.java:190) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$1$1.removeRegistration(AbstractRestconfStreamRegistry.java:173) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.ChannelSender.endOfStream(ChannelSender.java:70) at org.opendaylight.restconf.server.spi.Subscriber.endOfStream(Subscriber.java:183) at java.base/java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4709) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:311) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4.onSuccess(AbstractRestconfStreamRegistry.java:307) at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1132) at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1004) at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:469) at com.google.common.util.concurrent.FluentFuture$TrustedFuture.addListener(FluentFuture.java:114) at com.google.common.util.concurrent.Futures.addCallback(Futures.java:1098) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.deleteSubscription(AbstractRestconfStreamRegistry.java:307) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.channelClosed(AbstractRestconfStreamRegistry.java:295) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription.controlSessionClosed(AbstractRestconfStreamRegistry.java:380) at org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscriptionResource.removeRegistration(AbstractRestconfStreamRegistry.java:458) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at org.opendaylight.restconf.server.spi.DefaultTransportSession.removeRegistration(DefaultTransportSession.java:141) at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:65) at org.opendaylight.restconf.server.RestconfSession.channelInactive(RestconfSession.java:73) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:438) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelInactive(CombinedChannelDuplexHandler.java:416) at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:427) at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:392) at io.netty.channel.CombinedChannelDuplexHandler.channelInactive(CombinedChannelDuplexHandler.java:219) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1424) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:876) at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:676) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583)