Oliver Stöneberg created SSHD-600:
-------------------------------------

             Summary: Actual authentication error is just a warning in the log
                 Key: SSHD-600
                 URL: https://issues.apache.org/jira/browse/SSHD-600
             Project: MINA SSHD
          Issue Type: Bug
    Affects Versions: 1.0.0
            Reporter: Oliver Stöneberg
            Priority: Minor


I was getting the following exception on various systems when calling 
auth().verify() on a ClientSession object.

org.apache.sshd.common.SshException: Session is closed -  
at org.apache.sshd.client.session.ClientUserAuthService.preClose() in 
ClientUserAuthService.java:225. 
at org.apache.sshd.common.util.CloseableUtils$AbstractCloseable.close() in 
CloseableUtils.java:346. 
at org.apache.sshd.common.util.CloseableUtils$ParallelCloseable.doClose() in 
CloseableUtils.java:235. 
at org.apache.sshd.common.util.CloseableUtils$SimpleCloseable.close() in 
CloseableUtils.java:202. 
at 
org.apache.sshd.common.util.CloseableUtils$SequentialCloseable$1.operationComplete()
 in CloseableUtils.java:260. 
at 
org.apache.sshd.common.util.CloseableUtils$SequentialCloseable$1.operationComplete()
 in CloseableUtils.java:254. 
at org.apache.sshd.common.util.CloseableUtils$SequentialCloseable.doClose() in 
CloseableUtils.java:270. 
at org.apache.sshd.common.util.CloseableUtils$SimpleCloseable.close() in 
CloseableUtils.java:202. 
at 
org.apache.sshd.common.util.CloseableUtils$AbstractInnerCloseable.doCloseImmediately()
 in CloseableUtils.java:441. 
at org.apache.sshd.common.session.AbstractSession.doCloseImmediately() in 
AbstractSession.java:538. 
at org.apache.sshd.common.util.CloseableUtils$AbstractCloseable.close() in 
CloseableUtils.java:347. 
at org.apache.sshd.common.session.AbstractSession.exceptionCaught() in 
AbstractSession.java:525. 
at org.apache.sshd.common.session.AbstractSessionIoHandler.exceptionCaught() in 
AbstractSessionIoHandler.java:49. 
at org.apache.sshd.common.io.nio2.Nio2Session.exceptionCaught() in 
Nio2Session.java:137. 
at org.apache.sshd.common.io.nio2.Nio2Session.access$500() in 
Nio2Session.java:46. 
at org.apache.sshd.common.io.nio2.Nio2Session$2.onFailed() in 
Nio2Session.java:240. 
at org.apache.sshd.common.io.nio2.Nio2CompletionHandler$2.run() in 
Nio2CompletionHandler.java:45. 
at java.security.AccessController.doPrivileged() in AccessController.java:-2. 
at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.failed() in 
Nio2CompletionHandler.java:42. 
at org.apache.sshd.common.io.nio2.Nio2Session$2.onCompleted() in 
Nio2Session.java:233. 
at org.apache.sshd.common.io.nio2.Nio2Session$2.onCompleted() in 
Nio2Session.java:212. 
at org.apache.sshd.common.io.nio2.Nio2CompletionHandler$1.run() in 
Nio2CompletionHandler.java:34. 
at java.security.AccessController.doPrivileged() in AccessController.java:-2. 
at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed() in 
Nio2CompletionHandler.java:31. 
at sun.nio.ch.Invoker.invokeUnchecked() in Invoker.java:126. 
at sun.nio.ch.Invoker$2.run() in Invoker.java:218. 
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run() in 
AsynchronousChannelGroupImpl.java:112. 
at java.util.concurrent.ThreadPoolExecutor.runWorker() in 
ThreadPoolExecutor.java:1142. 
at java.util.concurrent.ThreadPoolExecutor$Worker.run() in 
ThreadPoolExecutor.java:617.

After enabling all log levels it turned out the actual error is a different one 
and is only logged as a warning:

java.security.InvalidAlgorithmParameterException: Prime size must be multiple 
of 64, and can only range from 512 to 2048 (inclusive)
        at 
com.sun.crypto.provider.DHKeyPairGenerator.initialize(DHKeyPairGenerator.java:120)
        at 
java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:674)
        at java.security.KeyPairGenerator.initialize(KeyPairGenerator.java:411)
        at org.apache.sshd.common.kex.DHG.getE(DHG.java:66)
        at org.apache.sshd.client.kex.DHGEXClient.next(DHGEXClient.java:110)
        at 
org.apache.sshd.common.session.AbstractSession.doHandleMessage(AbstractSession.java:395)
        at 
org.apache.sshd.common.session.AbstractSession.handleMessage(AbstractSession.java:349)
        at 
org.apache.sshd.client.session.ClientSessionImpl.handleMessage(ClientSessionImpl.java:487)
        at 
org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:848)
        at 
org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:331)
        at 
org.apache.sshd.common.session.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:57)
        at 
org.apache.sshd.common.io.nio2.Nio2Session$2.onCompleted(Nio2Session.java:220)
        at 
org.apache.sshd.common.io.nio2.Nio2Session$2.onCompleted(Nio2Session.java:212)
        at 
org.apache.sshd.common.io.nio2.Nio2CompletionHandler$1.run(Nio2CompletionHandler.java:34)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:31)
        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:745)

This is definitely not just a warning and should be an error. Also I think it 
should also be the actual exception you get from auth(). The "Session is 
closed" error is not helpful at all.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to