[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226505#comment-17226505 ] Lyor Goldstein commented on SSHD-1028: -- I don't know yet when we will release 2.6.0 - I hope Dec, 2020 or Jan. 2021. > 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 >Assignee: Guillaume Nodet >Priority: Major > Fix For: 2.6.0 > > Time Spent: 20m > Remaining Estimate: 0h > > 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.googlesou
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17225621#comment-17225621 ] Robert Varga commented on SSHD-1028: Would it be possible to have a release with this fix? Downstream we had to resort to this: [https://jira.opendaylight.org/browse/NETCONF-736] :( > 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 >Assignee: Guillaume Nodet >Priority: Major > Fix For: 2.6.0 > > Time Spent: 20m > Remaining Estimate: 0h > > 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
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151904#comment-17151904 ] Thomas Wolf commented on SSHD-1028: --- [~gnodet], why was the {{close(true)}} removed from {{Nio2Session.handleReadCycleCompletion()}}? When and where should server-side session be closed then? I also notice that the debug logging there still says "closing IoSession now"... > 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
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151119#comment-17151119 ] David Ostrovsky commented on SSHD-1028: --- Thanks [~wolft]! {quote} Appears to be caused by https://github.com/apache/mina-sshd/commit/45f84aab59b2e11d72942cffe9d810e37ab64959#diff-0923b58bc72c7eeda0b7c65559d3ead5L371 . {quote} Confirmed. I conducted a patch release: [1] where I omitted the above commit, and updated the Gerrit upgrade to consume it: [2] and all Gerrit tests are passing again. [1] https://github.com/davido/mina-sshd/releases/tag/2.5.1-1-g9d0b8152 [2] https://gerrit-review.googlesource.com/c/gerrit/+/274055 > 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.r
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151059#comment-17151059 ] Thomas Wolf commented on SSHD-1028: --- Appears to be caused by [https://github.com/apache/mina-sshd/commit/45f84aab59b2e11d72942cffe9d810e37ab64959#diff-0923b58bc72c7eeda0b7c65559d3ead5L371] . This is the first commit on which I can reproduce the problem; on earlier commits, {{ApacheServerApacheClientTest}} succeeds even with MAX_CONCURRENT_SESSIONS == 4. > 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.Ba
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17150830#comment-17150830 ] David Ostrovsky commented on SSHD-1028: --- 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.jav
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151050#comment-17151050 ] Thomas Wolf commented on SSHD-1028: --- Has the behavior of session closing changed? When I log server-side session creation (in {{Nio2Acceptor.AcceptCompletionHandler.onCompleted()}}) and unmapping (in {{Nio2Service.unmapSession()}}) and the run {{org.apache.sshd.common.forward.ApacheServerJschClientTest}}, I do see all server sessions being closed, but most of them only after the last test. Thus if you do more than 64 (sequential) tests, it's possible that the session map in {{Nio2Service}} contains 64 or more old sessions. If those are still in the map when {{AbstractServerSession#getActiveSessionCountForUser()}} is called they'll count against the limit. If I set {{server.getProperties().put(ServerFactoryManager.MAX_CONCURRENT_SESSIONS, 4);}} in {{ApacheServerJschClientTest.startServer()}}, the last two tests fail with that same error message: "com.jcraft.jsch.JSchException: SSH_MSG_DISCONNECT: 12 Too many concurrent connections (4) - max. allowed: 4". It's not related to JSch being used for the client – I can provoke the same kind of failure also with the {{ApacheServerApacheClientTest}} if I set MAX_CONCURRENT_SESSIONS to 4. > 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) > a
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151101#comment-17151101 ] Thomas Wolf commented on SSHD-1028: --- Very simple [reproducer in the JGit tests|https://git.eclipse.org/r/c/jgit/jgit/+/165814/1/org.eclipse.jgit.ssh.apache.test/tst/org/eclipse/jgit/transport/sshd/ApacheSshTest.java]: sets the server's MAX_CONCURRENT_SESSIONS to 2, clones and then fetches twice: each is 1 ssh server session; the third one (i.e., the second explicit fetch) fails. Looks like the server does not close its server-side session when a client disconnects. > 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.jun
[jira] [Commented] (SSHD-1028) SSH_MSG_DISCONNECT: 12 "Too many concurrent connections (64) - max. allowed: 64"
[ https://issues.apache.org/jira/browse/SSHD-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17150408#comment-17150408 ] Lyor Goldstein commented on SSHD-1028: -- Look for some code that involves {{ServerFactoryManager#MAX_CONCURRENT_SESSIONS}} and {{PropertyResolverUtils#updateProperty}} {code:java} /** * Key used to retrieve the value of the maximum concurrent open session count per username. If not set, then * unlimited */ String MAX_CONCURRENT_SESSIONS = "max-concurrent-sessions"; {code} By default we place no limit so it seems that somewhere in your code there is one. If you wish to debug - simply look at {{ServerUserAuthService#handleAuthenticationSuccess}} and {{AbstractServerSession#getActiveSessionCountForUser}} > 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.