-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
21
-
generic
-
generic
The test gc/stress/gcold/TestGCOldWithShenandoah.java#iu-aggressive failed twice so far this January with ExceptionInInitializerError, caused by accessing attempt to NULL.
java.lang.ExceptionInInitializerError
at java.base/sun.util.cldr.CLDRLocaleProviderAdapter.<clinit>(CLDRLocaleProviderAdapter.java:58)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:391)
at java.base/java.lang.Class.forName(Class.java:382)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:188)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:288)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:259)
at java.base/java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:181)
at java.base/java.util.Formatter.getDecimalFormatSymbols(Formatter.java:2021)
at java.base/java.util.Formatter.getZero(Formatter.java:2029)
at java.base/java.util.Formatter$FormatSpecifier.localizedMagnitude(Formatter.java:4526)
at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3366)
at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:3051)
at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3010)
at java.base/java.util.Formatter.format(Formatter.java:2781)
at java.base/java.io.PrintStream.implFormat(PrintStream.java:1367)
at java.base/java.io.PrintStream.format(PrintStream.java:1346)
at java.base/java.io.PrintStream.printf(PrintStream.java:1245)
at jdk.test.lib.Utils.getRandomInstance(Utils.java:527)
at gc.stress.gcold.TestGCOld.<clinit>(TestGCOld.java:91)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(MethodHandleAccessorFactory.java:71)
at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(ReflectionFactory.java:159)
at java.base/java.lang.reflect.Method.acquireMethodAccessor(Method.java:724)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
at java.base/java.lang.Thread.run(Thread.java:1623)
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:1806)
at java.base/sun.util.cldr.CLDRBaseLocaleDataMetaInfo.<clinit>(CLDRBaseLocaleDataMetaInfo.java:39)
... 29 more
Should there maybe a NULL-check be added to the coding to avoid this ?
Error was observed once on macOS x86_64, once on Linux aarch64 .
java.lang.ExceptionInInitializerError
at java.base/sun.util.cldr.CLDRLocaleProviderAdapter.<clinit>(CLDRLocaleProviderAdapter.java:58)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:391)
at java.base/java.lang.Class.forName(Class.java:382)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:188)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:288)
at java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:259)
at java.base/java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:181)
at java.base/java.util.Formatter.getDecimalFormatSymbols(Formatter.java:2021)
at java.base/java.util.Formatter.getZero(Formatter.java:2029)
at java.base/java.util.Formatter$FormatSpecifier.localizedMagnitude(Formatter.java:4526)
at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3366)
at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:3051)
at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3010)
at java.base/java.util.Formatter.format(Formatter.java:2781)
at java.base/java.io.PrintStream.implFormat(PrintStream.java:1367)
at java.base/java.io.PrintStream.format(PrintStream.java:1346)
at java.base/java.io.PrintStream.printf(PrintStream.java:1245)
at jdk.test.lib.Utils.getRandomInstance(Utils.java:527)
at gc.stress.gcold.TestGCOld.<clinit>(TestGCOld.java:91)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(MethodHandleAccessorFactory.java:71)
at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(ReflectionFactory.java:159)
at java.base/java.lang.reflect.Method.acquireMethodAccessor(Method.java:724)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
at java.base/java.lang.Thread.run(Thread.java:1623)
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:1806)
at java.base/sun.util.cldr.CLDRBaseLocaleDataMetaInfo.<clinit>(CLDRBaseLocaleDataMetaInfo.java:39)
... 29 more
Should there maybe a NULL-check be added to the coding to avoid this ?
Error was observed once on macOS x86_64, once on Linux aarch64 .
- duplicates
-
JDK-8309622 Re-examine the cache mechanism in BaseLocale
-
- Resolved
-
- relates to
-
JDK-8289220 Locale.forLanguageTag throws NPE due to soft ref used in locale cache being cleared
-
- Closed
-