RFR of JDK-8168975: java/rmi/activation/Activatable tests fail due to "Port already in use" in RMID.restart()

Hamlin Li huaming.li at oracle.com
Wed Nov 16 07:36:45 UTC 2016


Would you please review below fix?

bug: https://bugs.openjdk.java.net/browse/JDK-8168975
webrev: http://cr.openjdk.java.net/~mli/8168975/webrev.00/

Root Cause: There is a time window between RMID.start() and 
RMID.restart(), interloper can step in and bind to the port used by RMID 
in RMID.start().

Solution:   Modify RMID.java to use inherited channel when calling 
RMID.restart. And extend RMIDSelectorProvider.java to try to bind to 
specific port, no matter 0 or none-zero(for RMID.restart) in a while 
loop, if timeout just call System.exit to exit rmid and let test fail.


Thank you
-Hamlin


More information about the core-libs-dev mailing list