RFR for JDK-8031666: TEST_BUG: java/net/ipv6tests/UdpTest.java failed because of SocketTimeoutException
Chris Hegarty
chris.hegarty at oracle.com
Fri Jan 17 02:32:20 PST 2014
The bug shows the following stacktrace:
----------System.err:(16/903)----------
java.net.SocketTimeoutException: Receive timed out
at
java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native
Method)
at
java.net.DualStackPlainDatagramSocketImpl.peekData(DualStackPlainDatagramSocketImpl.java:109)
at java.net.DatagramSocket.receive(DatagramSocket.java:721)
at UdpTest.test2(UdpTest.java:159)
at UdpTest.main(UdpTest.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at
com.sun.javatest.regtest.MainAction$SameVMRunnable.run(MainAction.java:746)
at java.lang.Thread.run(Thread.java:744)
----
So the failure was not related to the initial two receives that are
expected to timeout. 4000 millis should be sufficient for these.
The failure looks like it is because the third receive, that is expected
to NOT timeout, does timeout. The socket timeout value is still set, in
the original code, to 4000 millis. It should be more efficient to simply
increase the timeout of the socket just before the third received, to
say 10000 millis.
Make sense?
-Chris.
On 17/01/14 05:40, Tristan Yan wrote:
> Hi All
>
> Please review the simple code fix for JDK-8031666.
>
> http://cr.openjdk.java.net/~tyan/JDK-8031666/webrev.00/
>
> This test fails in very small chance. Adding socket timeout a little bigger.
>
> Thank you
>
> Tristan
More information about the net-dev
mailing list