On Fri, 17 Dec 2021 14:52:53 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

> Can I please get a review for this test only change which proposes to enable 
> debug logs from the test that failed intermittently? This change addresses 
> https://bugs.openjdk.java.net/browse/JDK-8278961.
> 
> The change passes the (test specific) `-d` option to enable logs from that 
> test by default. While I was at it, I even added a few more debug logs hoping 
> it might provide some hints if/when it fails next.
> 
> For reference, a (successful) run of this test will now print something like:
> 
> 
> ----------System.out:(18/930)----------
> running on OS that supports ICMP port unreachable
> Testing with class java.net.DatagramSocket
> tests will be run against destination address localhost/127.0.0.1 port 52682
> Checking send to connected address ...
> socket is locally bound to address /127.0.0.1 port 52681
> received data from address /127.0.0.1 port 52681
> received data from address /127.0.0.1 port 52681
> received data from address /127.0.0.1 port 52681
> received data from address /127.0.0.1 port 52681
> received data from address /127.0.0.1 port 52681
> Checking send to non-connected address ...
> received data from address /127.0.0.1 port 52681
> Checking send to invalid address ...
> Got expected exception: java.net.PortUnreachableException
> Got expected exception: java.net.PortUnreachableException
> Got expected exception: java.net.PortUnreachableException
> Got expected exception: java.net.PortUnreachableException
> Got expected exception: java.net.PortUnreachableException

Does the `OSsupportsFeature` method still make sense? It mentions Windows 2000; 
I'm pretty sure every Windows version supports this today.

Also, I took a peek at JDK-8278858. The logs mention
> elapsed time (seconds): 20.069 

which is consistent with 5 (tries) *4seconds (timeout), which suggests that 
either the host firewalls ICMP "destination unreachable" packets, or our 
`serversock.close ();` call is somehow broken on that machine.

test/jdk/java/net/DatagramSocket/SendDatagramToBadAddress.java line 178:

> 176:                 p = new DatagramPacket(buf, buf.length, addr, port);
> 177:                 sock.receive (p);
> 178:                 print("(unexpectedly) received data from address " + 
> p.getAddress()

We should immediately fail the test here

test/jdk/java/net/DatagramSocket/SendDatagramToBadAddress.java line 182:

> 180:             } catch (InterruptedIOException ex) {
> 181:                 print ("socket timeout");
> 182:             } catch (Exception ex) {

Can we catch `PortUnreachableException` here instead?

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

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

Reply via email to