The class `ThreadSnapshot$ThreadLock` is internal ThreadSnapshot class.
The `ThreadSnapshot` and `ThreadSnapshot$ThreadLock` are created and filled by
VM. The objects for `ThreadLock` are
The crash originally appeared when jcmd ThreadDump was called for timed-out
test `compiler/c2/Test6603011.java`. The test is executed with `-Xcomp
-XX:-Inline` which is required to reproduce the issue.
In other cases the klass initialized by interpreter or compiler.
This is why this crash was not find by jcmd test that test how jcmd works for
monitors.
created but the class is not initialized.
BTW, the `ThreadSnapshot` is initialized
if (snapshot_klass->should_be_initialized()) {
snapshot_klass->initialize(CHECK_NULL);
}
Note: `-XX:CompileCommand=compileonly,*ThreadSnapshot*::*` in test is to reduce
execution time only, test fails without it.
---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK
Interim AI Policy](https://openjdk.org/legal/ai).
-------------
Commit messages:
- 8378071: Class ThreadSnapshot$ThreadLock is not initialized by VM
Changes: https://git.openjdk.org/jdk/pull/32363/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32363&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8378071
Stats: 47 lines in 2 files changed: 47 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/32363.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/32363/head:pull/32363
PR: https://git.openjdk.org/jdk/pull/32363