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

Reply via email to