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

Reply via email to