You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Hugo Arès (JIRA)" <ji...@apache.org> on 2017/10/25 13:59:00 UTC
[jira] [Updated] (SSHD-779) Deadlock in ChannelOutputStream
[ https://issues.apache.org/jira/browse/SSHD-779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hugo Arès updated SSHD-779:
---------------------------
Affects Version/s: 1.6.0
> 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:
> 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)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)