23:11:47.448 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:47.449 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 23:11:47.449 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:47.449 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 23:11:47.450 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 23:11:47.450 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 23:11:47.450 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 23:11:47.451 [restconf-netty-subscription-1] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0xcda7a0c2, L:/127.0.0.1:42534 - R:/127.0.0.1:34781] 23:11:47.655 [restconf-netty-subscription-3] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x56d07a38, L:/127.0.0.1:53874 - R:/127.0.0.1:34781] 23:11:47.756 [restconf-netty-subscription-3] 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:156) 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) 23:11:49.788 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 23:11:49.789 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 23:11:49.789 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Mar 13, 2026 11:11:49 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@2c3291cd} 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:557) 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:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) 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:250) 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$8.run(AbstractChannel.java:684) 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) 23:11:49.791 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:49.791 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 23:11:49.791 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:49.791 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 23:11:49.792 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 23:11:49.792 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 23:11:49.793 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 23:11:49.794 [restconf-netty-subscription-2] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x16cc12d0, L:/127.0.0.1:47360 - R:/127.0.0.1:43859] 23:11:49.997 [restconf-netty-subscription-4] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x0de738c5, L:/127.0.0.1:47368 - R:/127.0.0.1:43859] 23:11:52.132 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 23:11:52.132 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 23:11:52.132 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Mar 13, 2026 11:11:52 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@225e94} 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:557) 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:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) 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:250) 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$8.run(AbstractChannel.java:684) 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) 23:11:52.134 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:52.134 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router started 23:11:52.134 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router started 23:11:52.134 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership acquired – will write OPERATIONAL view 23:11:52.136 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with service class org.opendaylight.restconf.server.mdsal.MdsalRestconfServer 23:11:52.136 [main] INFO o.o.r.s.RestconfTransportChannelListener - Initialized with base path: /restconf, default encoding: JSON, default pretty print: false 23:11:52.137 [main] INFO o.o.restconf.server.NettyEndpoint - HTTP/3 is disabled because TLS is not configured 23:11:52.137 [restconf-netty-subscription-3] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0xce315223, L:/127.0.0.1:50682 - R:/127.0.0.1:45945] 23:11:52.341 [restconf-netty-subscription-5] INFO o.o.n.t.http.ClientHttp1SseService - Client SSE enabled on channel [id: 0x2f06d1de, L:/127.0.0.1:50688 - R:/127.0.0.1:45945] 23:11:54.371 [main] INFO o.o.r.s.m.MdsalRestconfStreamRegistry - Cluster leadership lost – stop writing OPERATIONAL view 23:11:54.371 [main] INFO o.o.mdsal.dom.broker.DOMRpcRouter - DOM RPC/Action router stopped 23:11:54.371 [main] INFO o.o.m.d.broker.DOMNotificationRouter - DOM Notification Router stopped Mar 13, 2026 11:11:54 PM com.google.common.util.concurrent.AbstractFuture executeListener SEVERE: RuntimeException while executing runnable CallbackListener{org.opendaylight.restconf.server.spi.AbstractRestconfStreamRegistry$DynSubscription$4@ca135d8} 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:557) 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:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.MessageAggregator.channelInactive(MessageAggregator.java:441) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:250) 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:250) 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$8.run(AbstractChannel.java:684) 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)