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