You said “less major issues”; are there bugs reported for
MinaServiceFactoryFactory?

On Fri, Dec 8, 2017 at 1:22 PM Hugo Arès (JIRA) <j...@apache.org> wrote:

>
>     [
> https://issues.apache.org/jira/browse/SSHD-779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16283975#comment-16283975
> ]
>
> Hugo Arès commented on SSHD-779:
> --------------------------------
>
> By nio2, I mean if we use Nio2ServiceFactoryFactory as the
> IoServiceFactoryFactory.
>
> This deadlock is not happening with MinaServiceFactoryFactory as the
> IoServiceFactoryFactory.
>
> We have other less major issues with MinaServiceFactoryFactory so we
> currently use this one in production but we will go back to
> Nio2ServiceFactoryFactory when the deadlock is fixed.
>
> > Deadlock in ChannelOutputStream
> > -------------------------------
> >
> >                 Key: SSHD-779
> >                 URL: https://issues.apache.org/jira/browse/SSHD-779
> >             Project: MINA SSHD
> >          Issue Type: Bug
> >    Affects Versions: 1.4.0, 1.6.0
> >            Reporter: Hugo Arès
> >
> > Since Gerrit upgraded to 1.4.0, the following deadlock is happening with
> NI02:
> > {noformat}
> > Found one Java-level deadlock:
> > =============================
> > "SSH-Stream-Worker-20":
> >   waiting to lock monitor 0x00007fac34021cf8 (object 0x00007fb450addb38,
> a java.lang.Object),
> >   which is held by "sshd-SshServer[4c110f87]-nio2-thread-20"
> > "sshd-SshServer[4c110f87]-nio2-thread-20":
> >   waiting to lock monitor 0x00007fad20048678 (object 0x00007fb450ade608,
> a org.apache.sshd.common.channel.ChannelOutputStream),
> >   which is held by "SSH-Stream-Worker-20"
> > Java stack information for the threads listed above:
> > ===================================================
> > "SSH-Stream-Worker-20":
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.doWritePacket(AbstractSession.java:1056)
> >         - waiting to lock <0x00007fb450addb38> (a java.lang.Object)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.writePacket(AbstractSession.java:1005)
> >         at
> org.apache.sshd.common.channel.AbstractChannel.writePacket(AbstractChannel.java:766)
> >         at
> org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:219)
> >         - locked <0x00007fb450ade608> (a
> org.apache.sshd.common.channel.ChannelOutputStream)
> >         at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297)
> >         at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
> >         - locked <0x00007fb450ae2eb0> (a java.io.OutputStreamWriter)
> >         at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
> >         at java.io.BufferedWriter.flush(BufferedWriter.java:254)
> >         - locked <0x00007fb450ae2eb0> (a java.io.OutputStreamWriter)
> >         at java.io.PrintWriter.flush(PrintWriter.java:320)
> >         - locked <0x00007fb450ae2e70> (a java.io.BufferedWriter)
> >         at java.io.PrintWriter.checkError(PrintWriter.java:357)
> >         at
> com.google.gerrit.sshd.commands.StreamEvents.writeEvents(StreamEvents.java:234)
> >         at
> com.google.gerrit.sshd.commands.StreamEvents.access$000(StreamEvents.java:53)
> >         at
> com.google.gerrit.sshd.commands.StreamEvents$1.run(StreamEvents.java:100)
> >         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> >         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> >         at
> com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:418)
> >         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:748)
> > "sshd-SshServer[4c110f87]-nio2-thread-20":
> >         at
> org.apache.sshd.common.channel.ChannelOutputStream.close(ChannelOutputStream.java:241)
> >         - waiting to lock <0x00007fb450ade608> (a
> org.apache.sshd.common.channel.ChannelOutputStream)
> >         at
> org.apache.sshd.common.util.io.IoUtils.closeQuietly(IoUtils.java:137)
> >         at
> org.apache.sshd.server.channel.ChannelSession.doCloseImmediately(ChannelSession.java:201)
> >         at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:81)
> >         at
> org.apache.sshd.common.channel.AbstractChannel.close(AbstractChannel.java:548)
> >         at
> org.apache.sshd.common.util.closeable.ParallelCloseable.doClose(ParallelCloseable.java:61)
> >         at
> org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
> >         at
> org.apache.sshd.common.util.closeable.AbstractInnerCloseable.doCloseImmediately(AbstractInnerCloseable.java:45)
> >         at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:81)
> >         at
> org.apache.sshd.common.util.closeable.ParallelCloseable.doClose(ParallelCloseable.java:61)
> >         at
> org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
> >         at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:55)
> >         at
> org.apache.sshd.common.util.closeable.SequentialCloseable$1.operationComplete(SequentialCloseable.java:45)
> >         at
> org.apache.sshd.common.util.closeable.SequentialCloseable.doClose(SequentialCloseable.java:68)
> >         at
> org.apache.sshd.common.util.closeable.SimpleCloseable.close(SimpleCloseable.java:63)
> >         at
> org.apache.sshd.common.util.closeable.AbstractInnerCloseable.doCloseImmediately(AbstractInnerCloseable.java:45)
> >         at
> org.apache.sshd.common.util.closeable.AbstractCloseable.close(AbstractCloseable.java:81)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.exceptionCaught(AbstractSession.java:862)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.exceptionCaught(AbstractSessionIoHandler.java:56)
> >         at org.apache.sshd.common.io
> .nio2.Nio2Session.exceptionCaught(Nio2Session.java:164)
> >         at org.apache.sshd.common.io
> .nio2.Nio2Session.handleWriteCycleFailure(Nio2Session.java:386)
> >         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 
> > org.apache.sshd.common.io.nio2.Nio2CompletionHandler$$Lambda$318/1992024659.run(Unknown
> Source)
> >         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.invokeDirect(Invoker.java:157)
> >         at sun.nio.ch
> .UnixAsynchronousSocketChannelImpl.implWrite(UnixAsynchronousSocketChannelImpl.java:736)
> >         at sun.nio.ch
> .AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:382)
> >         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.write(Nio2Session.java:148)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.doWritePacket(AbstractSession.java:1063)
> >         - locked <0x00007fb450addb38> (a java.lang.Object)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.writePacket(AbstractSession.java:1005)
> >         at
> org.apache.sshd.common.session.helpers.AbstractConnectionService.sendGlobalResponse(AbstractConnectionService.java:694)
> >         at
> org.apache.sshd.common.session.helpers.AbstractConnectionService.globalRequest(AbstractConnectionService.java:662)
> >         at
> org.apache.sshd.common.session.helpers.AbstractConnectionService.process(AbstractConnectionService.java:353)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:564)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:497)
> >         - locked <0x00007fb450ad9c48> (a java.lang.Object)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1406)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:458)
> >         - locked <0x00007fb450addb48> (a java.lang.Object)
> >         at
> org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:67)
> >         at org.apache.sshd.common.io
> .nio2.Nio2Session.handleReadCycleCompletion(Nio2Session.java:277)
> >         at org.apache.sshd.common.io
> .nio2.Nio2Session$1.onCompleted(Nio2Session.java:257)
> >         at org.apache.sshd.common.io
> .nio2.Nio2Session$1.onCompleted(Nio2Session.java:254)
> >         at org.apache.sshd.common.io
> .nio2.Nio2CompletionHandler.lambda$completed$0(Nio2CompletionHandler.java:38)
> >         at 
> > org.apache.sshd.common.io.nio2.Nio2CompletionHandler$$Lambda$182/2116066305.run(Unknown
> Source)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at org.apache.sshd.common.io
> .nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:37)
> >         at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
> >         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:748)
> > {noformat}
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.4.14#64029)
>

Reply via email to