<i18n dev> RFR 8209184: JDK8 ResourceBundle vulnerable to GC (fix included)

Martin Buchholz martinrb at google.com
Fri Aug 10 19:57:05 UTC 2018


retargeted bug to java.util:i18n, the right mailing list seems to be
i18n-dev.

On Fri, Aug 10, 2018 at 8:42 AM, Adam Farley8 <adam.farley at uk.ibm.com>
wrote:

> Hi All,
>
> This bug could be fixed by comparing the Class Loader with a blank
> static volatile Object (defined outside the method scope) at the
> end of the getBundleImpl class.
>
> E.g.
>
> -----------------------------------------
> +1322
>     /**
>      * volatile reference object to guard the ClassLoader object
>      * being garbage collected before getBundleImpl() method completes
>      * the caching and retrieving of requested Resourcebundle object
>      */
>     private static volatile Object vo = new Object();
>
>
> +1400
> //Should never be true. Using the loader here prevents it being GC'd.
>             if (loader == vo) throw new Error("Unexpected error.");
> -----------------------------------------
>
> Will upload a webrev after debate.
>
> - Adam
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>


More information about the i18n-dev mailing list