[ 
https://issues.apache.org/jira/browse/SSHD-786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Goldstein Lyor reopened SSHD-786:
---------------------------------

Seems that under certain circumstances, the code in {{onFailed}} that attempts 
to re-engage the _accept_ call fails with {{AcceptPendingException}}.
{code:java|title=Nio2Acceptor#AcceptCompletionHandler#onFailed}
    try {
        // Accept new connections
        socket.accept(address, this);
    } catch (Throwable t) {
        // Do not call failed(t, address) to avoid infinite recursion
        log.error("Failed (" + t.getClass().getSimpleName()
             + " to re-accept new connections on " + address
             + ": " + t.getMessage(), t);
    }
{code}
according to the exception's documentation
{quote}
Unchecked exception thrown when an attempt is made to initiate an accept 
operation on a channel and a previous accept operation has not completed.
{quote}
Since this happens intermittently and more often on _Linux_ rather than 
_Windows_ (as a matter of fact I have not encountered it on _Windows_ yet), it 
seems like either some race condition or different code in different JDK 
versions. We need to find some way to "complete" the handling of {{onFailed}} 
and somehow signal that we want to re-accept connections, while at the same 
time avoiding an infinite failure loop.


> Clients can't authenticate after unexpected exception in Nio2Acceptor
> ---------------------------------------------------------------------
>
>                 Key: SSHD-786
>                 URL: https://issues.apache.org/jira/browse/SSHD-786
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.6.0
>         Environment: Windows
>            Reporter: masc
>            Assignee: Goldstein Lyor
>            Priority: Major
>             Fix For: 1.7.0
>
>
> {code}
> 2017-11-28 15:26:54,808 11566202 sshd-SshServer[434a2a10]-nio2-thread-4 
> org.apache.sshd.common.io.nio2.Nio2Acceptor WARN - Caught IOException while 
> accepting incoming connection from /0:0:0:0:0:0:0:0:13003: The specified 
> network name is no longer available.
> java.io.IOException: The specified network name is no longer available.
>       at sun.nio.ch.Iocp.translateErrorToIOException(Iocp.java:309)
>       at sun.nio.ch.Iocp.access$700(Iocp.java:46)
>       at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:399)
>       at java.lang.Thread.run(Thread.java:748)
> {code}
> As soon as this exception occurs once, clients can still connect but will 
> fail to authenticate.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to