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

Tobias Hartmann thartmann at openjdk.org
Wed Jul 19 05:44:45 UTC 2023


On Fri, 7 Jul 2023 06:13:21 GMT, Tom Rodriguez <never at openjdk.org> wrote:

> 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.

That looks reasonable to me.

> 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.

Please file a follow-up issue for that.

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14799#pullrequestreview-1536293628


More information about the hotspot-compiler-dev mailing list