RFR of JDK-8029360: java/rmi/transport/dgcDeadLock/DGCDeadLock.java failing intermittently

Hamlin Li huaming.li at oracle.com
Tue Dec 20 07:10:50 UTC 2016


Would you please review the below patch?

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

* For the "connection refused" and "port in use" issue:
   Root Cause: consider reproducing scenario,
     1. gets free port A (in main process).
     2. interloper occupies port A.
     3. starts registry subprocess and try to listen on port A (in 
subprocess).
     4. registry fails with "port in use" (in subprocess).
     5. interloper releases port A.
     6. Naming.lookup on port A, it fails with "connection refused"
   Solution:
     To fix the issue, use REGISTRY to start registry process on 
ephemeral port and pass the port back to main process.

* For another issue, log is short, can only guess that wait time is not 
long enough on busy machine, so fix the issue by scaling the wait time 
and using REGISTRY to synchronize.


Thank you
-Hamlin


More information about the core-libs-dev mailing list