RFR(XS): 8152185: ReferencePendingListLocker incorrectly assumes that the lock is never taken recursively

Stefan Karlsson stefan.karlsson at oracle.com
Fri Mar 18 14:39:14 UTC 2016

Hi Per,

On 2016-03-18 15:29, Per Liden wrote:
> Summary: The ReferencePendingListLocker asserts that the pending list 
> lock is never taken recursively. This is incorrect, as it can be taken 
> by a GC operation initiated by the ReferenceHandler thread, which 
> might already own the lock. The asserts were added as part of 
> JDK-8151601 in an attempt to strengthen the code, but they are 
> incorrect and should be removed.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8152185
> Webrev: http://cr.openjdk.java.net/~pliden/8152185/webrev.0/

As we have discussed offline, it's quite unsafe to take this lock 
recursively from the ReferenceHandler thread, but your change didn't 
change that, it just found the problem. So, I'm fine with removing the 
assert and handle the real problem as a separate CR.


> thanks,
> Per

More information about the hotspot-gc-dev mailing list