Michael Heemskerk created SSHD-252:
--------------------------------------
Summary: SshException MAC Error in
org.apache.sshd.common.session.AbstractSession.decode when using
Nio2ServiceFactory
Key: SSHD-252
URL: https://issues.apache.org/jira/browse/SSHD-252
Project: MINA SSHD
Issue Type: Bug
Affects Versions: 0.9.0
Reporter: Michael Heemskerk
I've been running an extended version of the {{LoadTest.testLoad()}} test to
verify a performance improvement I'm working on. While running these tests,
I've noticed that the test fails occasionally, but only when using the
{{NioServiceFactory}}.
The following error is logged:
{noformat}
org.apache.sshd.common.SshException: MAC Error
at
org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:559)
at
org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:253)
at
org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:54)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:231)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:145)
at
sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:553)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:275)
at
sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:296)
at
java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:407)
at
org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:217)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:232)
at
org.apache.sshd.common.io.nio2.Nio2Session$2.completed(Nio2Session.java:217)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker$2.run(Invoker.java:206)
at
sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
{noformat}
I've reproduced these failures against an _unmodified_ 0.9.0 version with the
following test (see attachement for patch)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira