Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.3.0, 0.5.0, 0.6.0
-
None
-
I am able to reproduce this every single time on my quad core windows 7 machine.
Description
If a client with an active remote port forward disconnects at about the same time a new connection comes in to that port forward two NioProcessor threads end up deadlocked in TcpipForwardSupport, at the following spots:
NioProcessor-14 stuck at org.apache.sshd.server.session.TcpipForwardSupport.sessionCreated(...):
OpenFuture future = channel.open().await();
NioProcessor-2 stuck at org.apache.sshd.server.session.TcpipForwardSupport.close():
acceptor.dispose();
It appears that the new connection to the port forward is trying to create a new channel over a session that is currently trying to close. Both threads end up waiting on different objects, and are never notified.