[9] RFR 8166253: (ch) FileLock object can get GC'd and result in unexpected release of file lock

Hamlin Li huaming.li at oracle.com
Thu Feb 1 01:56:18 UTC 2018

Hi Brian,

Thank you for explanation. Yes, you're right, .


On 01/02/2018 12:01 AM, Brian Burkhalter wrote:
> Hi Hamlin,
> On Jan 30, 2018, at 9:32 PM, Hamlin Li <huaming.li at oracle.com 
> <mailto:huaming.li at oracle.com>> wrote:
>>> http://cr.openjdk.java.net/~bpb/8166253/webrev.04/ 
>>> <http://cr.openjdk.java.net/%7Ebpb/8166253/webrev.04/>
>> Second, although it will solve JDK-8166253, it will introduce a new 
>> issue by line 290("if (!ref.isValid()) {") in FileLockTable.java. I 
>> think all the refs in queue will satisfy the condition "ref.isValid()”,
> I don’t think so because of lines 210 and 234 which are invoked during 
> the explicit release of the lock or the channel close.
> Thanks,
> Brian
>> so there will be no ref be removed by removeStaleEntries, it will 
>> increase queue infinitely, finally could get out of memory if long 
>> enough. And seems there is workaround for this new issue, because 
>> line 290 is the key point to fix the JDK-8166253.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180201/37e6882c/attachment-0001.html>

More information about the nio-dev mailing list