[ https://issues.apache.org/jira/browse/SSHD-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16245747#comment-16245747 ]
masc edited comment on SSHD-743 at 11/9/17 2:40 PM: ---------------------------------------------------- as I see it, {{finishWrite}} is ok and should actually throw. it's just, that it should be expected to fail when being called while handling a write failure. so I would still prefer the exception being handled and merely logged in {{handleWriteCycleFailure}}, which is probably also the most defensive implementation without side-effects. was (Author: masc3d): as I see it, {finishWrite} is ok and should actually throw. it's just, that it should be expected to fail when being called while handling a write failure. so I would still prefer the exception being handled and merely logged in {handleWriteCycleFailure}, which is probably also the most defensive implementation without side-effects. > Nio2Session sporadically leaks exceptions from nio2 threads > ----------------------------------------------------------- > > Key: SSHD-743 > URL: https://issues.apache.org/jira/browse/SSHD-743 > Project: MINA SSHD > Issue Type: Bug > Affects Versions: 1.3.0, 1.4.0, 1.6.0 > Reporter: masc > Assignee: Goldstein Lyor > Priority: Critical > > We are using {{sshd-core}} for tcp forwarding/tunnelling. > Since updating to {{1.3.0}} we see sporadic process terminations caused by > exceptions leaking from nio2 threads. > I had to downgrade to {{1.2.0}} to stabilise. > {code} > 2017-04-21 18:56:28,606 1245641365 sshd-SshServer[4be7acd9]-nio2-thread-3 > org.apache.sshd.server.session.ServerSessionImpl WARN - > exceptionCaught(ServerSessionImpl[leoz@/185.17.206.254:21464])[state=Opened] > InterruptedByTimeoutException: null > 2017-04-21 18:56:28,606 1245641365 sshd-SshServer[4be7acd9]-nio2-thread-3 > org.deku.leoz.node.Application ERROR - Writing not allowed due to timeout or > cancellation > java.lang.IllegalStateException: Writing not allowed due to timeout or > cancellation > at > sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:350) > at > sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:399) > at > org.apache.sshd.common.io.nio2.Nio2Session.doWriteCycle(Nio2Session.java:334) > at > org.apache.sshd.common.io.nio2.Nio2Session.startWriting(Nio2Session.java:318) > at > org.apache.sshd.common.io.nio2.Nio2Session.finishWrite(Nio2Session.java:393) > at > org.apache.sshd.common.io.nio2.Nio2Session.handleWriteCycleFailure(Nio2Session.java:387) > at > org.apache.sshd.common.io.nio2.Nio2Session$2.onFailed(Nio2Session.java:348) > at > org.apache.sshd.common.io.nio2.Nio2CompletionHandler.lambda$failed$1(Nio2CompletionHandler.java:46) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.sshd.common.io.nio2.Nio2CompletionHandler.failed(Nio2CompletionHandler.java:45) > at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128) > at sun.nio.ch.Invoker$2.run(Invoker.java:218) > at > sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)