[ https://issues.apache.org/jira/browse/SSHD-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved SSHD-734. ---------------------------------- Resolution: Fixed Fix Version/s: 1.5.0 I don't think we need to propagate the exception to the constructor as long as the session's state is correct. In this case, if a write fails, the session will be in a closed state. https://github.com/apache/mina-sshd/commit/a1cb02b41355c176693ead60c0bce80eb858eb5b > When ClientSessionImpl construction fails, > AbstractSessionIoHandler#exceptionCaught may throw NPE > ------------------------------------------------------------------------------------------------- > > Key: SSHD-734 > URL: https://issues.apache.org/jira/browse/SSHD-734 > Project: MINA SSHD > Issue Type: Bug > Affects Versions: 1.4.0 > Reporter: Grzegorz Grzybek > Assignee: Guillaume Nodet > Fix For: 1.5.0 > > > # {{org.apache.sshd.common.session.helpers.AbstractSession#sendKexInit()}} is > called in {{ClientSessionImpl}} constructor > # {{org.apache.sshd.common.io.IoSession#write}} is called > # async write is done with handler created by > {{org.apache.sshd.common.io.nio2.Nio2Session#createWriteCycleCompletionHandler()}} > # if e.g., {{sun.nio.ch.UnixAsynchronousSocketChannelImpl#implWrite()}} > fails, it calls > {{org.apache.sshd.common.io.nio2.Nio2CompletionHandler#onFailed()}} > # {{org.apache.sshd.common.io.nio2.Nio2Session#exceptionCaught()}} calls > {{org.apache.sshd.common.io.IoHandler#exceptionCaught()}} > # > {{org.apache.sshd.common.session.helpers.AbstractSessionIoHandler#exceptionCaught()}} > can't find session in {{AbstractSession.getSession(ioSession, true)}} > # it throws {{throw new IllegalStateException("No session available", > cause)}} instead of something more related to actual problem > The solution to "No session available" is simply to attach session in > {{ClientSessionImpl}} constructor before starting sshd handshake > There's however more - how to propagate the exception from > {{ClientSessionImpl}} constructor? -- This message was sent by Atlassian JIRA (v6.3.15#6346)