If you have an internal bug you still want to keep that bug from negatively
affecting other sessions within the app. That’s why browsers are process
per session.  That’s also a case for overly generic catches in specific
places.

On Sat, Nov 11, 2017 at 9:07 AM Goldstein Lyor (JIRA) <j...@apache.org>
wrote:

>
>     [
> https://issues.apache.org/jira/browse/SSHD-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16248536#comment-16248536
> ]
>
> Goldstein Lyor commented on SSHD-743:
> -------------------------------------
>
> I guess what bothers me is that {{catch (Exception e)}} - seems a bit too
> generic - perhaps only {{catch (IOException e)}} would be better. This way,
> if we have some internal bug (e.g., NPE) it won't be suppressed...but then
> we should make sure that only this kind of exceptions are thrown by
> {{startWriting}} if there is a problem with the socket.
>
> > 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)
>

Reply via email to