RFR : 8016728: TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently with "Address already in use"

Seán Coffey sean.coffey at oracle.com
Tue Nov 19 15:58:43 UTC 2013


Hope this is a simple one. This issue is a rare intermittent one :
> - port 48250 is free
> - exported registry: RegistryImpl[UnicastServerRef [liveRef: 
> [endpoint:[10.169.79.100:48250](local),objID:[0:0:0, 0]]]]
> - port 48250 is in use
> - unexported registry
> java.net.BindException: Address already in use
> at java.net.PlainSocketImpl.socketBind(Native Method)

Even though we've just unexported the registry, the socket is still in 
use. I believe 1ms is too short a time to sleep to handle any 
environment issues. Let's try 1 second.

bug report : https://bugs.openjdk.java.net/browse/JDK-8016728
proposed change :

> t4 $hg diff 
> test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
> diff --git 
> a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java 
> b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
> --- a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
> +++ b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
> @@ -58,7 +58,7 @@
>          verifyPortInUse(PORT);
>          UnicastRemoteObject.unexportObject(registry, true);
>          System.err.println("- unexported registry");
> -        Thread.sleep(1);        // work around BindException (bug?)
> +        Thread.sleep(1000);        // work around BindException (bug?)
>          verifyPortFree(PORT);

regards,
Sean.





More information about the core-libs-dev mailing list