[
https://issues.apache.org/jira/browse/SSHD-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Evgeny Pasynkov updated SSHD-1289:
----------------------------------
Description:
{code}
java.lang.Thread.State: WAITING
at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
- waiting on
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@c50d1b2
at
[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
at
[email protected]/java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:959)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.updateState(KeyExchangeMessageHandler.java:139)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.shutdown(KeyExchangeMessageHandler.java:186)
at
org.apache.sshd.common.session.helpers.AbstractSession.preClose(AbstractSession.java:967)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:94)
at
org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.sessionClosed(AbstractSessionIoHandler.java:46)
at
org.apache.sshd.common.io.nio2.Nio2Session.doCloseImmediately(Nio2Session.java:283)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:95)
at
org.apache.sshd.common.io.nio2.Nio2Session.exceptionCaught(Nio2Session.java:215)
at
org.apache.sshd.common.io.nio2.Nio2Session.writeBuffer(Nio2Session.java:186)
at
org.apache.sshd.common.session.helpers.AbstractSession.doWritePacket(AbstractSession.java:1118)
- locked java.lang.Object@3423f353
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writeOrEnqueue(KeyExchangeMessageHandler.java:285)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writePacket(KeyExchangeMessageHandler.java:228)
at
org.apache.sshd.common.session.helpers.AbstractSession.writePacket(AbstractSession.java:1039)
at org.apache.sshd.common.session.Session.writePacket(Session.java:159)
at org.apache.sshd.common.session.Session.writePacket(Session.java:145)
at
org.apache.sshd.common.channel.AbstractChannel$GracefulChannelCloseable.close(AbstractChannel.java:637)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
at
org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.future.AbstractSshFuture.lambda$notifyListener$2(AbstractSshFuture.java:162)
at
org.apache.sshd.common.future.AbstractSshFuture$$Lambda$352/0x0000000800890040.call(Unknown
Source)
at
org.apache.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:66)
at
org.apache.sshd.common.future.AbstractSshFuture.notifyListener(AbstractSshFuture.java:161)
at
org.apache.sshd.common.future.DefaultSshFuture.addListener(DefaultSshFuture.java:166)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:57)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
at
org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
at
org.apache.sshd.common.util.closeable.AbstractInnerCloseable.doCloseGracefully(AbstractInnerCloseable.java:41)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:110)
at
org.apache.sshd.server.channel.ChannelSession.closeShell(ChannelSession.java:916)
at
org.apache.sshd.server.channel.ChannelSession.lambda$prepareCommand$0(ChannelSession.java:779)
at
org.apache.sshd.server.channel.ChannelSession$$Lambda$414/0x00000008008fa440.onExit(Unknown
Source)
{code}
The lock is acquired in "KeyExchangeMessageHandler.writeOrEnqueue" and then
tries to re-acquire in "KeyExchangeMessageHandler.updateState"
was:
{code}
java.lang.Thread.State: WAITING
at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
- waiting on
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@c50d1b2
at
[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
at
[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
at
[email protected]/java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:959)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.updateState(KeyExchangeMessageHandler.java:139)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.shutdown(KeyExchangeMessageHandler.java:186)
at
org.apache.sshd.common.session.helpers.AbstractSession.preClose(AbstractSession.java:967)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:94)
at
org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.sessionClosed(AbstractSessionIoHandler.java:46)
at
org.apache.sshd.common.io.nio2.Nio2Session.doCloseImmediately(Nio2Session.java:283)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:95)
at
org.apache.sshd.common.io.nio2.Nio2Session.exceptionCaught(Nio2Session.java:215)
at
org.apache.sshd.common.io.nio2.Nio2Session.writeBuffer(Nio2Session.java:186)
at
org.apache.sshd.common.session.helpers.AbstractSession.doWritePacket(AbstractSession.java:1118)
- locked java.lang.Object@3423f353
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writeOrEnqueue(KeyExchangeMessageHandler.java:285)
at
org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writePacket(KeyExchangeMessageHandler.java:228)
at
org.apache.sshd.common.session.helpers.AbstractSession.writePacket(AbstractSession.java:1039)
at org.apache.sshd.common.session.Session.writePacket(Session.java:159)
at org.apache.sshd.common.session.Session.writePacket(Session.java:145)
at
org.apache.sshd.common.channel.AbstractChannel$GracefulChannelCloseable.close(AbstractChannel.java:637)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
at
org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.future.AbstractSshFuture.lambda$notifyListener$2(AbstractSshFuture.java:162)
at
org.apache.sshd.common.future.AbstractSshFuture$$Lambda$352/0x0000000800890040.call(Unknown
Source)
at
org.apache.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:66)
at
org.apache.sshd.common.future.AbstractSshFuture.notifyListener(AbstractSshFuture.java:161)
at
org.apache.sshd.common.future.DefaultSshFuture.addListener(DefaultSshFuture.java:166)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:57)
at
org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
at
org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
at
org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
at
org.apache.sshd.common.util.closeable.AbstractInnerCloseable.doCloseGracefully(AbstractInnerCloseable.java:41)
at
org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:110)
at
org.apache.sshd.server.channel.ChannelSession.closeShell(ChannelSession.java:916)
at
org.apache.sshd.server.channel.ChannelSession.lambda$prepareCommand$0(ChannelSession.java:779)
at
org.apache.sshd.server.channel.ChannelSession$$Lambda$414/0x00000008008fa440.onExit(Unknown
Source)
{code}
> Deadlock during session exit
> ----------------------------
>
> Key: SSHD-1289
> URL: https://issues.apache.org/jira/browse/SSHD-1289
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 2.9.0
> Reporter: Evgeny Pasynkov
> Priority: Major
>
> {code}
> java.lang.Thread.State: WAITING
> at [email protected]/jdk.internal.misc.Unsafe.park(Native Method)
> - waiting on
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@c50d1b2
> at
> [email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
> at
> [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
> at
> [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
> at
> [email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
> at
> [email protected]/java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:959)
> at
> org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.updateState(KeyExchangeMessageHandler.java:139)
> at
> org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.shutdown(KeyExchangeMessageHandler.java:186)
> at
> org.apache.sshd.common.session.helpers.AbstractSession.preClose(AbstractSession.java:967)
> at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:94)
> at
> org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.sessionClosed(AbstractSessionIoHandler.java:46)
> at
> org.apache.sshd.common.io.nio2.Nio2Session.doCloseImmediately(Nio2Session.java:283)
> at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:95)
> at
> org.apache.sshd.common.io.nio2.Nio2Session.exceptionCaught(Nio2Session.java:215)
> at
> org.apache.sshd.common.io.nio2.Nio2Session.writeBuffer(Nio2Session.java:186)
> at
> org.apache.sshd.common.session.helpers.AbstractSession.doWritePacket(AbstractSession.java:1118)
> - locked java.lang.Object@3423f353
> at
> org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writeOrEnqueue(KeyExchangeMessageHandler.java:285)
> at
> org.apache.sshd.common.session.helpers.KeyExchangeMessageHandler.writePacket(KeyExchangeMessageHandler.java:228)
> at
> org.apache.sshd.common.session.helpers.AbstractSession.writePacket(AbstractSession.java:1039)
> at org.apache.sshd.common.session.Session.writePacket(Session.java:159)
> at org.apache.sshd.common.session.Session.writePacket(Session.java:145)
> at
> org.apache.sshd.common.channel.AbstractChannel$GracefulChannelCloseable.close(AbstractChannel.java:637)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
> at
> org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:56)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
> at
> org.apache.sshd.common.future.AbstractSshFuture.lambda$notifyListener$2(AbstractSshFuture.java:162)
> at
> org.apache.sshd.common.future.AbstractSshFuture$$Lambda$352/0x0000000800890040.call(Unknown
> Source)
> at
> org.apache.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:66)
> at
> org.apache.sshd.common.future.AbstractSshFuture.notifyListener(AbstractSshFuture.java:161)
> at
> org.apache.sshd.common.future.DefaultSshFuture.addListener(DefaultSshFuture.java:166)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:57)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
> at
> org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:69)
> at
> org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
> at
> org.apache.sshd.common.util.closeable.AbstractInnerCloseable.doCloseGracefully(AbstractInnerCloseable.java:41)
> at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:110)
> at
> org.apache.sshd.server.channel.ChannelSession.closeShell(ChannelSession.java:916)
> at
> org.apache.sshd.server.channel.ChannelSession.lambda$prepareCommand$0(ChannelSession.java:779)
> at
> org.apache.sshd.server.channel.ChannelSession$$Lambda$414/0x00000008008fa440.onExit(Unknown
> Source)
> {code}
> The lock is acquired in "KeyExchangeMessageHandler.writeOrEnqueue" and then
> tries to re-acquire in "KeyExchangeMessageHandler.updateState"
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]