RFR: 8262438: sun/security/ssl/SSLLogger/LoggingFormatConsistency.java failed with "SocketException: Socket is closed"

Evan Whelan ewhelan at openjdk.java.net
Thu Mar 4 09:59:53 UTC 2021


On Tue, 2 Mar 2021 15:04:23 GMT, Evan Whelan <ewhelan at openjdk.org> wrote:

>> Hi Evan - I am a bit skeptical that the proposed fix will solve the issue. AFAICS the exception is raised by the server side - and if I read it correctly it happens when the server finds that the socket is already closed when it tries to close it. How could sleeping between 2 process invocation solve this? The port used is an ephemeral port - so it should never be the same?
>> Does the log show that the same port was being reused?
>
> Hi Daniel, 
> 
> From speaking with you offline, I have ensured that the server-side and client-side socket input streams are emptied.
> 
> I have also added some debugging info should this test fail in the future.
> 
> I've removed the proposed `Thread.sleep` and the test does not fail in 400 runs
> 
> Regards,
> Evan

Hi Daniel,

So in testing, I realised that adding my own custom logic to handle the client-server communication was a bit overkill.

Simply invoking the `SSLSocketTemplate::run` method is sufficient in making the basic connection and generating the desired debug info which the test checks for.

After 400 runs I saw no failures

Thanks,
Evan

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

PR: https://git.openjdk.java.net/jdk/pull/2749


More information about the security-dev mailing list