RFR: 8311557: [JVMCI] deadlock with JVMTI thread suspension

Tom Rodriguez never at openjdk.org
Fri Jul 7 06:20:04 UTC 2023


Java based JVMCI compiler threads are more like normal Java threads so they aren't `hidden_from_external_view` like the native compilers.  This can leak to deadlocks if you use JVMTI to suspend all threads since this will block the compiler queue and can block execution if background compilation is disabled.  It's reasonable to treat libgraal threads like native threads in this regard.  Making jargraal threads hidden too would interfere with using profiling and debugging tool on them so I've left that alone but it might be worth changing the JVMTI suspend and resume functions to explicitly skip compiler threads as well.

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

Commit messages:
 - 8311557: [JVMCI] deadlock with JVMTI thread suspension

Changes: https://git.openjdk.org/jdk/pull/14799/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14799&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311557
  Stats: 7 lines in 2 files changed: 5 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/14799.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14799/head:pull/14799

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


More information about the hotspot-compiler-dev mailing list