RFR: 8197812: (ref) Data race in Finalizer
mandy.chung at oracle.com
Wed Feb 14 21:15:18 UTC 2018
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  which is
the culprit of causing this complicated handling. Probably time to
remove it in 11?
More information about the core-libs-dev