RFR: 8197812: (ref) Data race in Finalizer

mandy chung mandy.chung at oracle.com
Wed Feb 14 21:59:23 UTC 2018



On 2/14/18 1:54 PM, Martin Buchholz wrote:
> Indeed I had suppressed all memory of runFinalizersOnExit. (Sorry 
> about that.)
> I support removing it in jdk11.

Great.

> Mandy, would you like to file the CSR?

Yes I plan to do that for:
     https://bugs.openjdk.java.net/browse/JDK-4240589

Mandy
>
> On Wed, Feb 14, 2018 at 1:15 PM, mandy chung <mandy.chung at oracle.com 
> <mailto:mandy.chung at oracle.com>> wrote:
>
>
>
>     On 2/14/18 1:58 AM, Peter Levart wrote:
>>
>>     I take back this claim. Of course the the following race is
>>     possible:
>>
>>     - Thread1: calls runAllFinalizers and takes a Finalizer from
>>     'unprocessed' list.
>>     - Thread2: takee the same Finalizer instance from ReferenceQueue
>>     and calls runFinalizer()
>>     - Thread1: calls runFinalizer() with the same instance for the
>>     2nd time now.
>
>     runAllFinalizers is invoked during shutdown when
>     System.runFinalizersOnExit has been called.
>
>     I have been wanting to remove System::runFinalizersOnExit [1]
>     which is the culprit of causing this complicated handling.  
>     Probably time to remove it in 11?
>
>     Mandy
>
>     [1]
>     http://mail.openjdk.java.net/pipermail/core-libs-dev/2015-January/031041.html
>     <http://mail.openjdk.java.net/pipermail/core-libs-dev/2015-January/031041.html>
>
>



More information about the core-libs-dev mailing list