JDK-8256688 : Shenandoah: Lock rank inversion after JDK-8212879
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 16
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-11-19
  • Updated: 2021-01-13
  • Resolved: 2020-11-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16 b26Fixed
Related Reports
Relates :  
Description
After JDK-8212879, gc_notification() takes JvmtiTagMap_lock/24, while ShenandoahConcurrentWeakRootsEvacUpdateTask holds StringDedupQueue_lock/11.

#  Internal Error (/home/zgu/ws/jdk/src/hotspot/share/runtime/mutex.cpp:457), pid=837435, tid=837442
#  fatal error: acquiring lock JvmtiTagMap_lock/24 out of order with lock StringDedupQueue_lock/11 -- possible deadlock
#
# JRE version: OpenJDK Runtime Environment (16.0) (fastdebug build 16-internal+0-adhoc.zgu.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 16-internal+0-adhoc.zgu.jdk, mixed mode, sharing, tiered, compressed oops, shenandoah gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x14e1c5b]  Mutex::set_owner_implementation(Thread*)+0x43b


Comments
Changeset: 266dea06 Author: Zhengyu Gu <zgu@openjdk.org> Date: 2020-11-20 12:51:11 +0000 URL: https://github.com/openjdk/jdk/commit/266dea06
20-11-2020