[ 
https://issues.apache.org/jira/browse/SSHD-942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16934471#comment-16934471
 ] 

Goldstein Lyor commented on SSHD-942:
-------------------------------------

I thought  some more about this and what I have suggested might "mask" out 
protocol problems that are not related to latency or out-of-order messages - 
e.g. a client that does not adhere to the protocol 100% and is indeed sending 
messages when they are not expected. If you have implemented some logging then 
at least you can take notice of this by enabling the log and examining the 
issued messages.

 If you really want to make the code robust, the handler should be combined 
with a channel listener that tracks the identifiers of the established channels 
so far as a session attribute. The listeners updates the relevant session 
attribute every time a channel is established while the handler examines this 
attribute and ignores unexpected messages for referenced channels whose 
identifier is a tracked one and optionally warns or throws an exception for 
others.

> SSH session crashes on high latency network
> -------------------------------------------
>
>                 Key: SSHD-942
>                 URL: https://issues.apache.org/jira/browse/SSHD-942
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 1.7.0, 2.0.0, 2.3.0
>            Reporter: David Ostrovsky
>            Priority: Major
>
> Gerrit users report problem: [1] with {{git clone/fetch/pull}} operations on 
> high latency network, after upgrading Gerrit to 2.16.x from 2.15.x that 
> effectively means upgrade of SSHD from 1.6.0 to 1.7.0 and to 2.0.0.
> The error on SSHD 2.0.0 (Gerrit 2.16) is:
> {noformat}
> [2019-09-16 10:27:14,256] [sshd-SshServer[24facb47]-nio2-thread-8] WARN 
> org.apache.sshd.server.session.ServerSessionImpl : 
> exceptionCaught(ServerSessionImpl[usexxx@/172.x.x.1:63306])[state=Opened] 
> SshChannelNotFoundException: Received SSH_MSG_CHANNEL_WINDOW_ADJUST on 
> unknown channel 0
> {noformat}
> Note that the attempt to upgrade SSHD in Gerrit to 2.3.0 in this CL: [2], 
> didn't fix the problem:
> {noformat}
> [2019-09-17 14:05:27,923] [sshd-SshDaemon[189c6683](port=22)-nio2-thread-4] 
> WARN org.apache.sshd.server.session.ServerSessionImpl : 
> exceptionCaught(ServerSessionImpl[<username>@/<ip>:55212])[state=Opened] 
> SshChannelNotFoundException: Received SSH_MSG_CHANNEL_WINDOW_ADJUST on 
> unknown channel 3
> [2019-09-17 14:05:27,924] [SSH git-upload-pack <repo> (<username>)] ERROR 
> com.google.gerrit.sshd.BaseCommand : Internal server error (user <username> 
> account 1000190) during git-upload-pack '<repo path>'
> org.apache.sshd.common.channel.WindowClosedException: Already closed: 
> Window[server/remote](ChannelSession[id=2, 
> recipient=6]-ServerSessionImpl[<username>@/<ip>:55212])
>  at org.apache.sshd.common.channel.Window.waitForCondition(Window.java:302)
>  at org.apache.sshd.common.channel.Window.waitForSpace(Window.java:252)
> {noformat}
> Also note, that downgrade to 1.7.0: [3] didn't fix the problem either. Only 
> after downgrade to SSH 1.6.0: [4] the problem disappeared, and only warnings 
> left in the log:
> {noformat}
> [2019-09-18 09:24:52,755] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 12
> [2019-09-18 09:24:52,756] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 13
> [2019-09-18 09:25:02,576] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 15
> [2019-09-18 09:25:36,508] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 18
> [2019-09-18 09:25:57,527] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 19
> [2019-09-18 09:30:16,488] [NioProcessor-2] WARN 
> org.apache.sshd.server.session.ServerConnectionService : Received 
> SSH_MSG_CHANNEL_CLOSE on unknown channel 21
> {noformat}
> [1] 
> [https://bugs.chromium.org/p/gerrit/issues/detail?id=11491|https://bugs.chromium.org/p/gerrit/issues/detail?id=11491&;]
> [2] [https://gerrit-review.googlesource.com/c/gerrit/+/207752]
> [3] [https://gerrit-review.googlesource.com/c/gerrit/+/237730]
> [4] [https://gerrit-review.googlesource.com/c/gerrit/+/237731]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to