On Sun, Apr 15, 2018 at 1:32 PM, Igor T <igor.tymoshc...@gmail.com> wrote:
> I'm experiencing many "Socket accept failed: The specified network > name is no longer available." exceptions in the Tomcat error log. > > These exceptions happen both on port 80 and 443. Both connectors are > using Http11Nio2Protocol. > > I can't reproduce this exception on the local PC, but on the > production instance it happens ~1500 times every day. > > Please help me to understand what is the cause of them. > > > System details: > Windows Server 2012 R2 > AWS c4.2xlarge instance > Tomcat 9.0.6 > Oracle JRE 1.8.0_162-b12 > > Exception details: > > > 14-Apr-2018 20:15:33.081 SEVERE [https-openssl-nio2-443-Acceptor-0] > org.apache.tomcat.util.net.Acceptor.run Socket accept failed > java.util.concurrent.ExecutionException: java.io.IOException: The > specified network name is no longer available. > > at sun.nio.ch.PendingFuture.get(PendingFuture.java:185) > at org.apache.tomcat.util.net.Nio2Endpoint.serverSocketAccept( > Nio2Endpoint.java:334) > at org.apache.tomcat.util.net.Nio2Endpoint.serverSocketAccept( > Nio2Endpoint.java:59) > at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95) > at java.lang.Thread.run(Thread.java:748) > Caused by: 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) > ... 1 more > > 14-Apr-2018 20:16:16.966 SEVERE [http-nio2-80-Acceptor-0] > org.apache.tomcat.util.net.Acceptor.run Socket accept failed > java.util.concurrent.ExecutionException: java.io.IOException: The > specified network name is no longer available. > > at sun.nio.ch.PendingFuture.get(PendingFuture.java:185) > at org.apache.tomcat.util.net.Nio2Endpoint.serverSocketAccept( > Nio2Endpoint.java:334) > at org.apache.tomcat.util.net.Nio2Endpoint.serverSocketAccept( > Nio2Endpoint.java:59) > at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:95) > at java.lang.Thread.run(Thread.java:748) > Caused by: 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) > ... 1 more > > It could mean what it means: you might have issues with the network interface. The accept call here is as simple as it gets, it does AsynchronousServerSocketChannel.accept().get(). Rémy