RFR: 8339356: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine

Daniel Jeliński djelinski at openjdk.org
Fri Dec 6 18:26:39 UTC 2024


On Fri, 6 Dec 2024 01:23:31 GMT, Matthew Donovan <mdonovan at openjdk.org> wrote:

> I was unable to reproduce the error but I suspect the error is caused by the server-side closing the socket as soon as the write operation is done. I added a read() call on the server to ensure the client initiates connection close

test/jdk/javax/net/ssl/SSLSocket/Tls13PacketSize.java line 75:

> 73:         sslOS.write(appData);
> 74:         sslOS.flush();
> 75:         sslIS.read();

The failure is caused by closing the socket before all the data sent by the client is read. In order to read all the data, you need something like:
Suggestion:

        sslIS.read(appData, 1, appData.length-1);

The failure is hard to reproduce. You might need to repeat the test a few hundred times to see if it's gone. And it only affects Windows.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/22591#discussion_r1873816286


More information about the security-dev mailing list