The JvmtiTagMap::flush_object_free_events() method might be called from different threads. The thread waits using lock until other thread posting events. The locking thread is in vm state doesn't allowing safepoints. While other thread posting events might request safepoints.
The fix is to block thread to allow safepoints while waiting on the lock. ------------- Commit messages: - 8373723: Deadlock with JvmtiTagMap::flush_object_free_events() Changes: https://git.openjdk.org/jdk/pull/28839/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28839&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8373723 Stats: 4 lines in 1 file changed: 3 ins; 1 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/28839.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/28839/head:pull/28839 PR: https://git.openjdk.org/jdk/pull/28839
