[jdk18] RFR: 8273107: RunThese24H times out with "java.lang.management.ThreadInfo.getLockName()" is null

Daniel D.Daugherty dcubed at openjdk.java.net
Wed Dec 15 01:15:25 UTC 2021


RunThese24H sometimes times out with a couple of error msgs:
- "java.lang.management.ThreadInfo.getLockName()" is null
- ForkJoin common pool thread stuck

The '"java.lang.management.ThreadInfo.getLockName()" is null' error msg was
due to RunThese's use of an older JCK test suite which has since been fixed.

The 'ForkJoin common pool thread stuck' failure mode is likely due to a thread
spending a lot of time in ObjectSynchronizer::monitors_iterate() due to a
VM_ThreadDump::doit() call. I say "likely" because I've never been able to
reproduce this failure mode in testing outside of Mach5. With the Mach5
sightings, all we have are thread dumps and core files and not a live process.

The VM_ThreadDump::doit() call is trying to gather owned monitor information
for all threads in the system. I've seen sightings of this failure mode with > 2000
threads. I've also seen passing runs with > 1.7 million monitors on the in-use list.
Imagine searching a larger in-use list for > 2000 threads. It just doesn't scale.

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

Commit messages:
 - 8273107.open.exp.00

Changes: https://git.openjdk.java.net/jdk18/pull/25/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk18&pr=25&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8273107
  Stats: 187 lines in 8 files changed: 164 ins; 0 del; 23 mod
  Patch: https://git.openjdk.java.net/jdk18/pull/25.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk18 pull/25/head:pull/25

PR: https://git.openjdk.java.net/jdk18/pull/25


More information about the hotspot-runtime-dev mailing list