jetty.project icon indicating copy to clipboard operation
jetty.project copied to clipboard

org.eclipse.jetty.io.EofException: null

Open onkar4in opened this issue 3 years ago • 1 comments

Hi I am using 9.4.x version of jetty which acts as client to connect to the server. In my client application, I start multiple sockets (about 100) sequentially. Out of 100 websockets, i get below error for like 20.

Can anybody guide me as to how do I fix this? It says "An established connection was aborted by the software in your host machine" Java 1. 8 Spring boot Windows OS

stored flush exception org.eclipse.jetty.io.EofException: null at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:279) at org.eclipse.jetty.io.ssl.SslConnection.networkFlush(SslConnection.java:489) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1112) at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:422) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:378) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:387) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:387) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:387) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:387) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:387) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1579) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1287) at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:285) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:381) at org.eclipse.jetty.client.http.HttpSenderOverHTTP$HeadersCallback.process(HttpSenderOverHTTP.java:258) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:223) at org.eclipse.jetty.client.http.HttpSenderOverHTTP.sendHeaders(HttpSenderOverHTTP.java:65) at org.eclipse.jetty.client.HttpSender.send(HttpSender.java:212) at org.eclipse.jetty.client.http.HttpChannelOverHTTP.send(HttpChannelOverHTTP.java:84) at org.eclipse.jetty.client.HttpChannel.send(HttpChannel.java:125) at org.eclipse.jetty.client.HttpConnection.send(HttpConnection.java:241) at org.eclipse.jetty.client.http.HttpConnectionOverHTTP$Delegate.send(HttpConnectionOverHTTP.java:269) at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.send(HttpConnectionOverHTTP.java:125) at org.eclipse.jetty.client.http.HttpDestinationOverHTTP.send(HttpDestinationOverHTTP.java:38) at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:377) at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:332) at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:311) at org.eclipse.jetty.client.HttpDestination.succeeded(HttpDestination.java:246) at org.eclipse.jetty.client.AbstractConnectionPool.proceed(AbstractConnectionPool.java:321) at org.eclipse.jetty.client.AbstractConnectionPool$FutureConnection.succeeded(AbstractConnectionPool.java:552) at org.eclipse.jetty.client.AbstractConnectionPool$FutureConnection.succeeded(AbstractConnectionPool.java:530) at org.eclipse.jetty.util.Promise$Wrapper.succeeded(Promise.java:130) at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onOpen(HttpConnectionOverHTTP.java:133) at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:372) at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:324) at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:402) at org.eclipse.jetty.io.ManagedSelector.access$2100(ManagedSelector.java:65) at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:1069) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.lang.Thread.run(Thread.java:750) Caused by: java.io.IOException: An established connection was aborted by the software in your host machine at sun.nio.ch.SocketDispatcher.writev0(Native Method) at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:55) at sun.nio.ch.IOUtil.write(IOUtil.java:148) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:503) at java.nio.channels.SocketChannel.write(SocketChannel.java:502) at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:273) ... 69 common frames omitted

Now as I understand, the jetty client connection is getting closed before response is sent back from the server. If so, Why should this happen? and is there any setting by which i can wait for the response from the server?

onkar4in avatar Sep 04 '22 04:09 onkar4in

Jetty 9.x is now at End of Community Support.

  • https://github.com/eclipse/jetty.project/issues/7958

Does this happen with Jetty 10.x?

If you cannot upgrade, know that Commercial Support for Jetty 9.x is offered via webtide.com (contact [email protected] for details)

joakime avatar Sep 06 '22 12:09 joakime

Hi Thanks for the reply. The issue was the machine on which my program was running had a threshold of outgoing HTTP requests causing above exception. This was fixed by the network administrator by increasing the threshold and everything started to function as expected.

onkar4in avatar Oct 27 '22 06:10 onkar4in