[ https://issues.apache.org/jira/browse/SSHD-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Wolf reassigned SSHD-1262: --------------------------------- Assignee: Thomas Wolf > Unhandled SSH_MSG_CHANNEL_WINDOW_ADJUST leeds to SocketTimeoutException > ----------------------------------------------------------------------- > > Key: SSHD-1262 > URL: https://issues.apache.org/jira/browse/SSHD-1262 > Project: MINA SSHD > Issue Type: Bug > Affects Versions: 2.7.0, 2.8.0 > Reporter: Stefan Maute > Assignee: Thomas Wolf > Priority: Major > Labels: mina, sshd > Attachments: failing-pf-trace-logs.txt > > > Wanted to open a local port forwarding to an SSH server and afterwards > connect to MQTT server over the SSh tunnel. During the MQTT connection > attempt I encountered a SocketTimeoutException in the logs (StackTrace below). > What I could see in the logs is that the server is sending an initial window > size of 0 and afterwards the _waitForCondition_ method is throwing the > SocketTimeoutException . > After analyzing the logs I maybe have an idea what is going on here. My > assumption is that there is some deadlock in case the initial window size is > 0 and the SSH_MSG_CHANNEL_WINDOW_ADJUST isn't handled properly. > I have attached the whole log file. Lines of interest are from 169 to 229. > Tested with 2.7.0 and 2.8.0. > > {code:java} > WARN org.apache.sshd.common.forward.DefaultForwarder - > exceptionCaught(Nio2Session[local=/127.0.0.1:44259, remote=/127.0.0.1:60188]) > SocketTimeoutException: > waitForCondition(Window[client/remote](TcpipClientChannel[id=0, > recipient=0]-ClientSessionImpl[Admin@/x.xxx.xx.x:xxxx])) timeout exceeded: > PT30S java.net.SocketTimeoutException: > waitForCondition(Window[client/remote](TcpipClientChannel[id=0, > recipient=0]-ClientSessionImpl[Admin@/x.xxx.xx.x:xxxx])) timeout exceeded: > PT30S at > org.apache.sshd.common.channel.Window.waitForCondition(Window.java:332) > at org.apache.sshd.common.channel.Window.waitForSpace(Window.java:286) at > org.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:154) > at > org.apache.sshd.client.channel.ClientChannelPendingMessagesQueue.writeMessage(ClientChannelPendingMessagesQueue.java:174) > at > org.apache.sshd.client.channel.ClientChannelPendingMessagesQueue.flushPendingQueue(ClientChannelPendingMessagesQueue.java:221) > at > org.apache.sshd.client.channel.ClientChannelPendingMessagesQueue.operationComplete(ClientChannelPendingMessagesQueue.java:206) > at > org.apache.sshd.client.channel.ClientChannelPendingMessagesQueue.operationComplete(ClientChannelPendingMessagesQueue.java:51) > at > org.apache.sshd.common.future.AbstractSshFuture.notifyListener(AbstractSshFuture.java:159) > at > org.apache.sshd.common.future.DefaultSshFuture.notifyListeners(DefaultSshFuture.java:215) > at > org.apache.sshd.common.future.DefaultSshFuture.setValue(DefaultSshFuture.java:112) > at > org.apache.sshd.client.future.DefaultOpenFuture.setOpened(DefaultOpenFuture.java:68) > at > org.apache.sshd.client.channel.AbstractClientChannel.handleOpenSuccess(AbstractClientChannel.java:360) > at > org.apache.sshd.common.session.helpers.AbstractConnectionService.channelOpenConfirmation(AbstractConnectionService.java:545) > at > org.apache.sshd.common.session.helpers.AbstractConnectionService.process(AbstractConnectionService.java:456) > at > org.apache.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:503) > at > org.apache.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:429) > at > org.apache.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1466) > at > org.apache.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:389) > at > org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64) > at > org.apache.sshd.common.io.nio2.Nio2Session.handleReadCycleCompletion(Nio2Session.java:359) > at > org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:336) > at > org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:333) > at > org.apache.sshd.common.io.nio2.Nio2CompletionHandler.lambda$completed$0(Nio2CompletionHandler.java:38) > at > java.base/java.security.AccessController.doPrivileged(AccessController.java:318) > at > org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:37) > at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at > java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at > java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > at java.base/java.lang.Thread.run(Thread.java:833) {code} > > -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org