On Sat, 27 Feb 2021 22:30:18 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> 8263138: Initialization of sun.font.SunFontManager.platformFontMap is not >> thread safe > > src/java.desktop/share/classes/sun/font/SunFontManager.java line 1452: > >> 1450: if (platformFontMap == null) { >> 1451: platformFontMap = populateHardcodedFileNameMap(); >> 1452: SunFontManager.platformFontMap = platformFontMap; > > I am not sure it is enough for "thread-safe initialization". The > "platformFontMap" might not be null, but its content can be broken/incomplete > at this point. https://github.com/openjdk/jdk/pull/2691#issuecomment-784367127 In short, previously platformFontMap references were field set/gets and may be inconsistent due to concurrency. It is now moved to a local variable; also the map modifications have been moved to fields to avoid concurrency issues with hash map as far as I can see. ------------- PR: https://git.openjdk.java.net/jdk/pull/2762