RFR: JDK-8074696: Remote debugging session hangs for several minutes when calling findBootType

Andreas Eriksson andreas.eriksson at oracle.com
Wed Oct 28 12:46:33 UTC 2015


Hi,

Please review this change to JDI to address a performance bottleneck in 
findBootType for high delay networks.

Bug:
8074696: Remote debugging session hangs for several minutes when calling 
findBootType
https://bugs.openjdk.java.net/browse/JDK-8074696

Webrev:
http://cr.openjdk.java.net/~aeriksso/8074696/webrev.01/

Description:
VirtualMachineImpl.findBootType loops over all loaded classes and does a 
remote call to check if the signature matches.
It will wait for the server response for each class before moving on to 
the next class, thus for many classes and high delay this will take a 
long time.

Solution:
Since we have a signature that should match, use 
retrieveClassesBySignature command that only returns matching classes.
At worst we have to loop over the number of active classloader since we 
want the class loaded by the boot classloader (null class loader);

Note:
This bug was split in two, and this is only for the findBootType part.
The more problematic visibleClasses change that was part of a previous 
review will be handled as a separate bug (JDK-8140515).

Regards,
Andreas


More information about the serviceability-dev mailing list