> 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).
Leonid Mesnik has updated the pull request incrementally with one additional
commit since the last revision:
updated after feedback in PR
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/32363/files
- new: https://git.openjdk.org/jdk/pull/32363/files/fe8edd74..58bf9d8e
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=32363&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=32363&range=00-01
Stats: 96 lines in 3 files changed: 48 ins; 48 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