JDK-8176363 : Incorrect lock rank for G1 PtrQueue related locks
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-03-08
  • Updated: 2017-04-06
  • Resolved: 2017-03-09
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 10 JDK 9
10Fixed 9 b163Fixed
Related Reports
Relates :  
Description
The CBL_mon locks used by G1 to protect the linked lists of completed buffers and the Shared_Q locks used to protect the non-JavaThread card and mark buffers have had the "nonleaf" lock rank since G1 was first integrated.

The nonleaf lock rank has led to many lock ordering problems since it's not uncommon for code to attempt to write and oop while holding some leaf lock.

The actual code executed under the G1 locks are some minor linked list manipulation and a notify operation to wake a concurrent G1 refinement thread waiting for work. 
Resolving this is required in order to fix JDK-8176100