Dead lock in openfire, causing threads to work on delays 4.9.2

Im facing issue here, when user session increases, i see some deadlock are created cauing no new sessions to be created.

here is my threaddump

"Jetty-QTP-BOSH-106" #106 prio=5 waiting on lock
   java.lang.Thread.State: WAITING
	- waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@35d11073 (owned by socket_c2s-thread-7 id=235)
	at java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
	at org.eclipse.jetty.util.thread.AutoLock.lock(AutoLock.java:44)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:549)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
	at java.base@11.0.16/java.lang.Thread.run(Unknown Source)


"Jetty-QTP-BOSH-106" #106 prio=5 waiting on lock
   java.lang.Thread.State: WAITING
	- waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@35d11073 (owned by socket_c2s-thread-7 id=235)
	at java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
	at org.eclipse.jetty.util.thread.AutoLock.lock(AutoLock.java:44)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:549)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
	at java.base@11.0.16/java.lang.Thread.run(Unknown Source)

"socket_c2s-thread-7" #235 daemon prio=10 waiting on lock
   java.lang.Thread.State: WAITING
	- waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b (owned by socket_c2s-thread-9 id=257)
	at java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy.acquireLock(DefaultLocalCacheStrategy.java:143)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy$LocalLock.lock(DefaultLocalCacheStrategy.java:197)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processRegularStanza(MultiUserChatServiceImpl.java:670)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processPacket(MultiUserChatServiceImpl.java:428)
	at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents.process(InternalComponentManager.java:864)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToComponent(RoutingTableImpl.java:517)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:332)
	at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:132)
	at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79)
	at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:434)
	at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:104)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:258)
	at org.jivesoftware.openfire.net.StanzaHandler.processStanza(StanzaHandler.java:222)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:114)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:142)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:50)
	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.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
	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.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:506)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	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:1410)
	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:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.base@11.0.16/java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
     - java.util.concurrent.locks.ReentrantLock$NonfairSync@35d11073

"socket_c2s-thread-9" #257 daemon prio=10 waiting on lock
   java.lang.Thread.State: WAITING
	- waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@555bd83d (owned by socket_c2s-thread-6 id=234)
	at java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy.acquireLock(DefaultLocalCacheStrategy.java:143)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy$LocalLock.lock(DefaultLocalCacheStrategy.java:197)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.getRoutes(RoutingTableImpl.java:1009)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToBareJID(RoutingTableImpl.java:675)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToLocalDomain(RoutingTableImpl.java:388)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:328)
	at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:132)
	at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79)
	at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:59)
	at org.jivesoftware.openfire.muc.MUCRole.send(MUCRole.java:486)
	at org.jivesoftware.openfire.muc.MUCRoom.broadcast(MUCRoom.java:1774)
	at org.jivesoftware.openfire.muc.MUCRoom.lambda$broadcast$9(MUCRoom.java:1734)
	at org.jivesoftware.openfire.muc.MUCRoom$$Lambda$1377/0x0000000840b42440.run(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.CompletableFuture.uniRunNow(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.CompletableFuture.uniRunStage(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.CompletableFuture.thenRun(Unknown Source)
	at org.jivesoftware.openfire.muc.MUCRoom.broadcast(MUCRoom.java:1732)
	at org.jivesoftware.openfire.muc.MUCRoom.send(MUCRoom.java:1532)
	at org.jivesoftware.openfire.muc.MUCRoom.sendPublicMessage(MUCRoom.java:1432)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processPublicMessage(MultiUserChatServiceImpl.java:899)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processOccupantMessage(MultiUserChatServiceImpl.java:825)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.process(MultiUserChatServiceImpl.java:740)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processRegularStanza(MultiUserChatServiceImpl.java:693)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processPacket(MultiUserChatServiceImpl.java:428)
	at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents.process(InternalComponentManager.java:864)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToComponent(RoutingTableImpl.java:517)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:332)
	at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:132)
	at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79)
	at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:434)
	at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:104)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:258)
	at org.jivesoftware.openfire.net.StanzaHandler.processStanza(StanzaHandler.java:222)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:114)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:142)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:50)
	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.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
	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.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:506)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	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:1410)
	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:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.base@11.0.16/java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
     - java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b
"socket_c2s-thread-6" #234 daemon prio=10 waiting on lock
   java.lang.Thread.State: WAITING
	- waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b (owned by socket_c2s-thread-9 id=257)
	at java.base@11.0.16/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.16/java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
	at java.base@11.0.16/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy.acquireLock(DefaultLocalCacheStrategy.java:143)
	at org.jivesoftware.util.cache.DefaultLocalCacheStrategy$LocalLock.lock(DefaultLocalCacheStrategy.java:197)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processRegularStanza(MultiUserChatServiceImpl.java:670)
	at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processPacket(MultiUserChatServiceImpl.java:428)
	at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents.process(InternalComponentManager.java:864)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToComponent(RoutingTableImpl.java:517)
	at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:332)
	at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:132)
	at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79)
	at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:434)
	at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:104)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:258)
	at org.jivesoftware.openfire.net.StanzaHandler.processStanza(StanzaHandler.java:222)
	at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:114)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:142)
	at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelRead0(NettyConnectionHandler.java:50)
	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.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
	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.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:506)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	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:1410)
	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:919)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at java.base@11.0.16/java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
     - java.util.concurrent.locks.ReentrantLock$NonfairSync@555bd83d

Deadlock detected!
 - #106 (Jetty-QTP-BOSH-106) locked, waiting for java.util.concurrent.locks.ReentrantLock$NonfairSync@35d11073 owned by #235 (socket_c2s-thread-7)
 - #235 (socket_c2s-thread-7) locked java.util.concurrent.locks.ReentrantLock$NonfairSync@35d11073, waiting for java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b owned by #257 (socket_c2s-thread-9)
 - #257 (socket_c2s-thread-9) locked java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b, waiting for java.util.concurrent.locks.ReentrantLock$NonfairSync@555bd83d owned by #234 (socket_c2s-thread-6)
 - #234 (socket_c2s-thread-6) locked java.util.concurrent.locks.ReentrantLock$NonfairSync@555bd83d, waiting for java.util.concurrent.locks.ReentrantLock$NonfairSync@4d95289b owned by #257 (socket_c2s-thread-9)

Hello! I’m sorry to hear about this. Can you reliably reproduce this problem?

In the upcoming 5.0.0 release of Openfire, several modifications have been made that are in the same general area of the functionality. Can you please check if the problem can be reproduced with a nightly build of Openfire 5.0.0?