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