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

David Ostrovsky edited comment on SSHD-1028 at 7/3/20, 8:13 AM:
----------------------------------------------------------------

Thanks for the code pointers. In fact, we do restrict the concurrent session 
number per user, see [1]:
{code:java}
  final int maxConnectionsPerUser = cfg.getInt("sshd", "maxConnectionsPerUser", 
64);
  if (0 < maxConnectionsPerUser) {
    getProperties().put(MAX_CONCURRENT_SESSIONS, 
String.valueOf(maxConnectionsPerUser));
  }
{code}
However, we have not touched this are of the code recently. In fact the above 
restriction was added 8 years ago in this CL: [1].

Can it be that there is a regression in SSHD session management code in 2.5.0 
release?

 
 [1] 
[https://gerrit.googlesource.com/gerrit/+/3164e069abf81fb125e62965f55c91f02b5bde95/java/com/google/gerrit/sshd/SshDaemon.java#204]
 
 [2] 
[https://gerrit-review.googlesource.com/c/gerrit/+/18811/1/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java#149]


was (Author: davido2):
Thanks for the code pointers. In fact, we do restrict the concurrent session 
number per user, see [1]:

 
{code:java}
  final int maxConnectionsPerUser = cfg.getInt("sshd", "maxConnectionsPerUser", 
64);
  if (0 < maxConnectionsPerUser) {
    getProperties().put(MAX_CONCURRENT_SESSIONS, 
String.valueOf(maxConnectionsPerUser));
  }
{code}
However, we have not touched this are of the code recently. In fact the above 
restriction was added 8 years ago in this CL: [1].

Can it be that there is a regression in SSHD session management code in 2.5.0 
release?

 
 [1] 
[https://gerrit.googlesource.com/gerrit/+/3164e069abf81fb125e62965f55c91f02b5bde95/java/com/google/gerrit/sshd/SshDaemon.java#204]
 
 [2] 
[https://gerrit-review.googlesource.com/c/gerrit/+/18811/1/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java#149]

> SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 
> 64"
> --------------------------------------------------------------------------------
>
>                 Key: SSHD-1028
>                 URL: https://issues.apache.org/jira/browse/SSHD-1028
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 2.5.0
>         Environment: bazel test 
> //javatests/com/google/gerrit/acceptance/git:SshPushForReviewIT
>            Reporter: David Ostrovsky
>            Priority: Major
>
> I'm trying to migrate Gerrit to 2.5.0 and seeing this exception:
> {code}
> 80) 
> pushCommitsWithSameTreeNoChanges(com.google.gerrit.acceptance.git.SshPushForReviewIT)
> com.jcraft.jsch.JSchException: SSH_MSG_DISCONNECT: 12 Too many concurrent 
> connections (64) - max. allowed: 64 
>       at com.jcraft.jsch.Session.read(Session.java:1004)
>       at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:198)
>       at com.jcraft.jsch.Session.connect(Session.java:470)
>       at com.jcraft.jsch.Session.connect(Session.java:183)
>       at 
> com.google.gerrit.acceptance.SshSession.getSession(SshSession.java:111)
>       at com.google.gerrit.acceptance.SshSession.open(SshSession.java:46)
>       at 
> com.google.gerrit.acceptance.AbstractDaemonTest.initSsh(AbstractDaemonTest.java:541)
>       at 
> com.google.gerrit.acceptance.AbstractDaemonTest.beforeTest(AbstractDaemonTest.java:456)
>       at 
> com.google.gerrit.acceptance.AbstractDaemonTest$1$1.evaluate(AbstractDaemonTest.java:230)
>       at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>       at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
>       at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>       at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
>       at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at 
> com.google.testing.junit.runner.internal.junit4.CancellableRequestFactory$CancellableRunner.run(CancellableRequestFactory.java:108)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
>       at 
> com.google.testing.junit.runner.junit4.JUnit4Runner.run(JUnit4Runner.java:116)
>       at 
> com.google.testing.junit.runner.BazelTestRunner.runTestsInSuite(BazelTestRunner.java:159)
>       at 
> com.google.testing.junit.runner.BazelTestRunner.main(BazelTestRunner.java:85)
> {code}
> Reproducer is here: [1].
> [1] https://gerrit-review.googlesource.com/c/gerrit/+/274055



--
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