RFR: JDK-8293156: Dcmd VM.classloaders fails to print the full hierarchy

Thomas Stuefe stuefe at openjdk.org
Fri Sep 16 15:06:11 UTC 2022


Fixes a bug in the `VM.classloaders` jcmd that causes class loaders to be omitted from the output if a parent class loader never loaded any class and therefore had no associated DCmd.

The fix changes the command to not rely on the existence of a CLD structure for the loader; instead, all information (loader class name, loader name, etc) is pulled via the loader oop, which has to be always there unless its the bootstrap loader.

Also, the tests were expanded to test the display of empty loaders and empty parent loaders.

Thanks to @dholmes-ora for finding this bug.

-------------

Commit messages:
 - JDK-8293156-Dcmd-VM.classloaders-fails-to-print-the-full-hierarchy

Changes: https://git.openjdk.org/jdk/pull/10312/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10312&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293156
  Stats: 145 lines in 2 files changed: 97 ins; 24 del; 24 mod
  Patch: https://git.openjdk.org/jdk/pull/10312.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10312/head:pull/10312

PR: https://git.openjdk.org/jdk/pull/10312


More information about the serviceability-dev mailing list