Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8336490

Shenandoah: rare ExceptionInInitializerError in TestAllocInts

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P3
    • None
    • None
    • hotspot
    • gc

    Description

      This has been observed only on backport repo https://github.com/openjdk/shenandoah-jdk21u

      Very rarely (and more frequently on aarch64 than x86), we encounter the following abnormal termination of jtreg test gc/shenandoah/TestAllocIntArrays.java#aggressive:

      ```
      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:421)
              at java.base/java.lang.Class.forName(Class.java:412)
              at java.base/sun.util.locale.provider.LocaleProviderAdapter.forType(LocaleProviderAdapter.java:193)
              at java.base/sun.util.locale.provider.LocaleProviderAdapter.findAdapter(LocaleProviderAdapter.java:293)
              at java.base/sun.util.locale.provider.LocaleProviderAdapter.getAdapter(LocaleProviderAdapter.java:264)
              at java.base/java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:181)
              at java.base/java.util.Formatter.getDecimalFormatSymbols(Formatter.java:2032)
              at java.base/java.util.Formatter.getZero(Formatter.java:2040)
              at java.base/java.util.Formatter$FormatSpecifier.localizedMagnitude(Formatter.java:4531)
              at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3377)
              at java.base/java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:3062)
              at java.base/java.util.Formatter$FormatSpecifier.print(Formatter.java:3021)
              at java.base/java.util.Formatter.format(Formatter.java:2791)
              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 TestAllocIntArrays.main(TestAllocIntArrays.java:214)
              at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
              at java.base/java.lang.reflect.Method.invoke(Method.java:580)
              at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
              at java.base/java.lang.Thread.run(Thread.java:1583)
      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:1876)
              at java.base/sun.util.cldr.CLDRBaseLocaleDataMetaInfo.<clinit>(CLDRBaseLocaleDataMetaInfo.java:39)
              ... 24 more
      ```

      This typically happens less than 1 out of a hundred executions. Note that this test is configured with -XX:+ShenandoahOOMDuringEvacALot.

      This test runs in 1G heap size. Typical freeset log_status() reports over 960M available to the mutator.

      Attachments

        Issue Links

          Activity

            People

              kdnilsen Kelvin Nilsen
              kdnilsen Kelvin Nilsen
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: