[
https://issues.apache.org/jira/browse/SSHD-942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935402#comment-16935402
]
David Ostrovsky commented on SSHD-942:
--------------------------------------
I figured, that there is {{DefaultUnknownChannelReferenceHandler.INSTANCE}}
that cane be used, so that the fix was:
{code:java}
diff --git a/java/com/google/gerrit/sshd/SshDaemon.java
b/java/com/google/gerrit/sshd/SshDaemon.java
index ef356f1687..433e0e92dd 100644
--- a/java/com/google/gerrit/sshd/SshDaemon.java
+++ b/java/com/google/gerrit/sshd/SshDaemon.java
@@ -89,6 +89,7 @@ import org.apache.sshd.common.random.Random;
import org.apache.sshd.common.random.SingletonRandomFactory;
import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.session.Session;
+import
org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.common.util.net.SshdSocketAddress;
@@ -226,6 +227,7 @@ public class SshDaemon extends SshServer implements
SshInfo, LifecycleListener {
initMacs(cfg);
initSignatures();
initChannels();
+ initUnknownChannelReferenceHandler();
initForwarding();
initFileSystemFactory();
initSubsystems();
@@ -653,6 +655,10 @@ public class SshDaemon extends SshServer implements
SshInfo, LifecycleListener {
setChannelFactories(ServerBuilder.DEFAULT_CHANNEL_FACTORIES);
}
+ private void initUnknownChannelReferenceHandler() {
+
setUnknownChannelReferenceHandler(DefaultUnknownChannelReferenceHandler.INSTANCE);
+ }
+
private void initSubsystems() {
setSubsystemFactories(Collections.<NamedFactory<Command>>emptyList());
}
{code}
Shouldn't there be a companion default listener to detect client misbehavior,
that you mentioned in your last comment?
> 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: [email protected]
For additional commands, e-mail: [email protected]