確立された接続がホスト コンピューターのソウトウェアによって中止されました



Javaプログラムが以下のようなエラーを発生した。これについて調べてみたのだが、今のところ原因はわかっていない。

org.eclipse.jetty.io.EofException
    at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192)
    at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408)
    at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:364)
    at org.eclipse.jetty.io.SelectChannelEndPoint.onSelected(SelectChannelEndPoint.java:111)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processKey(SelectorManager.java:640)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:611)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:549)
    at org.eclipse.jetty.util.thread.NonBlockingThread.run(NonBlockingThread.java:52)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.io.IOException: 確立された接続がホスト コンピューターのソウトウェアによって中止されました。
    at java.base/sun.nio.ch.SocketDispatcher.writev0(Native Method)
    at java.base/sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:55)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:182)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:130)
    at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:496)
    at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:172)
    ... 10 more

Java側のエラーメッセージではない

「確立された接続がホスト コンピューターのソウトウェアによって中止されました。」と「ソフトウェア」ではなく「ソウトウェア」になっている。

てっきりJava側でこのメッセージを出していると思っていたのだが、そうではないようだ。英語のメッセージとしては、どうやらこれのようだ。

より調べてみると、Javaプログラムに限らず発生するようである。

Windows側のエラー

結局のところ、このメッセージはWindows側のWinSockのエラーらしい。

WSAECONNABORTED
10053

Software caused connection abort.
    An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.

しかし、Javaのエラーメッセージでは、間違ったつづりの日本語になっており、もともとのWinSockのエラー番号10053が落とされているので、訳のわからないものになっている。