> command: make test CONF=fastdebug JTREG="VM_OPTIONS=-Xcomp" > TEST=gc/TestAllocHumongousFragment.java > error info: > > Caused by: java.lang.NullPointerException: Cannot invoke > "sun.util.locale.BaseLocale.getVariant()" because "base" is null > at java.base/java.util.Locale.forLanguageTag(Locale.java:1802) > at > java.base/sun.util.cldr.CLDRBaseLocaleDataMetaInfo.<clinit>(CLDRBaseLocaleDataMetaInfo.java:41) > ... 24 more > > Note that the test runs with -XX:ShenandoahGCHeuristics=aggressive > -XX:+ShenandoahOOMDuringEvacALot and SoftReferences are involved > (LocaleObjectCache uses SoftReferences, used by printf method called in > getRandomInstance(Utils.java:511)). > > Maybe we have to deal with the case where the getBaseLocale() return value is > null. the call stack is: > > at > java.base/sun.util.locale.LocaleObjectCache.get(LocaleObjectCache.java:64) > at java.base/sun.util.locale.BaseLocale.getInstance(BaseLocale.java:169) > at > java.base/sun.util.locale.InternalLocaleBuilder.getBaseLocale(InternalLocaleBuilder.java:524) > at java.base/java.util.Locale.forLanguageTag(Locale.java:1874) > > in LocaleObjectCache.java:64 > > 62 if (key == null || newVal == null) { > > 63 // subclass must return non-null key/value object > > 64 return null; // run here > 65 }
SUN Guoyun has updated the pull request incrementally with one additional commit since the last revision: 8289220: Locale.forLanguageTag throws NPE due to soft ref used in locale cache being cleared ------------- Changes: - all: https://git.openjdk.org/jdk/pull/14211/files - new: https://git.openjdk.org/jdk/pull/14211/files/d133a15c..98a8bd62 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=14211&range=05 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14211&range=04-05 Stats: 6 lines in 1 file changed: 3 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/14211.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14211/head:pull/14211 PR: https://git.openjdk.org/jdk/pull/14211