RFR: 8297798: Timeout with DTLSOverDatagram test template [v2]

Rajan Halade rhalade at openjdk.org
Wed Dec 14 18:23:32 UTC 2022


On Tue, 13 Dec 2022 12:32:30 GMT, Matthew Donovan <duke at openjdk.org> wrote:

>> This fix is intended to address various time-out errors in tests that use DTLSOverDatagram as a test template. Based on test output from those bugs (JDK-8202059, JDK-8249562, JDK-8280185, JDK-8280186, JDK-8269887, JDK-8268899), this fix:
>> 
>> * refactors the class to only create one additional thread
>> * adds a CountdownLatch so if the server thread doesn't start for some reason, it is reported quickly
>> * cleans up code to remove a loop condition that never fired: tests always time-out before too many loop iterations
>> * removes CipherSuite.java from ProblemList
>> 
>> Ran the following tests 200 times each with no failures.
>> * open/test/jdk/javax/net/ssl/DTLS/ClientAuth.java
>> * open/test/jdk/javax/net/ssl/DTLS/PacketLossRetransmission.java
>> * open/test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java
>> * open/test/jdk/javax/net/ssl/DTLS/InvalidCookie.java
>> * open/test/jdk/javax/net/ssl/DTLS/CipherSuite.java
>
> Matthew Donovan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   cleaned up exception handling

thanks for the updates! LGTM other than few minor format changes.

test/jdk/javax/net/ssl/DTLS/DTLSOverDatagram.java line 333:

> 331:     Some tests failed with receive time-out errors when the client tried to read
> 332:     from the server. The server thread had exitted normally so the read _should_
> 333:     succeed. So let's try to read a couple times before giving up.

Suggestion:

    from the server. The server thread had exited normally so the read _should_
    succeed. So let's try to read a couple of times before giving up.

test/jdk/javax/net/ssl/DTLS/DTLSOverDatagram.java line 405:

> 403:     }
> 404: 
> 405:     DatagramPacket createHandshakePacket(byte[] ba, SocketAddress socketAddr){

Suggestion:

    DatagramPacket createHandshakePacket(byte[] ba, SocketAddress socketAddr) {

test/jdk/javax/net/ssl/DTLS/DTLSOverDatagram.java line 579:

> 577:         try {
> 578:             testCase.doClientSide(socket, serverSocketAddr);
> 579: 

Suggestion:

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

PR: https://git.openjdk.org/jdk/pull/11558


More information about the security-dev mailing list