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

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

{quote}
would it be possible to ship the new 
ChannelIdTrackingUnknownChannelReferenceHandler in regular SSHD artifact, in 
sshd-common ?
{quote}
Possible, yes - but at this time I don't think it is advisable. The reason I 
added it to the _sshd-contrib_ package is that this package is +experimental+ 
by definition. In other words _Caevat emptor_ if using anything from it. This 
is exactly how I feel the {{ChannelIdTrackingUnknownChannelReferenceHandler}}'s 
state currently is. I wrote it with some things in mind (which may prove to be 
erroneous), it assumes some things (which might not hold in "real life"), it 
has never been tried "in the wild" against real servers with various latencies, 
etc... Conversely, {{DefaultUnknownChannelReferenceHandler}} is very "modest" 
in its assumptions an behavior and less "dangerous" to use - even if it might 
miss some misbehaving servers.

Another concern is to avoid adding too many classes to what is already a 
"bloated" artifact (such as _sshd-common_) - and until we find some better 
place for it _sshd-contrib_ is the "natural" repository for it. You are welcome 
to copy/paste {{ChannelIdTrackingUnknownChannelReferenceHandler}} code if you 
think it is useful and don't want to use _sshd-contrib_. Please let me know if 
you do use it and it turns out to work correctly when used with real servers, 
and then we can perhaps figure out a better location for it than _sshd-contrib_.


> 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
>            Assignee: Goldstein Lyor
>            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