[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, .

-Hamlin


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