RFR 8217339: ClassCircularityError loading NumberFormatProvider
mandy.chung at oracle.com
Tue Jan 22 20:47:49 UTC 2019
On 1/22/19 12:29 PM, Naoto Sato wrote:
> Hi Roger,
> I'd use Locale.ROOT instead of Locale.ENGLISH in String.format(),
> which is the language invariant locale.
Alternatively, convert those String.format to string concatenation and they
are pretty simple format only one argument.
> Other changes look good.
> > I have not found a reproducer for jdk 12, it only occurs on new work
> > jdk 13.
> Is this new code in 13? l10n causes this type of circularity exception
> during the VM boot up.
I also want to understand what changes in 13 causes the difference.
Is there a regression test?
> On 1/22/19 12:08 PM, Roger Riggs wrote:
>> A ClassCircularityError can occur via the ClassDescriptor code that
>> uses String.format to
>> concatenate strings.
>> Please review a change to use string concatenation or a known locale
>> of the default locale in calls to String.format.
>> The java.lang.constant APIs can be used early in the startup sequence
>> the Locales and providers are initialized.
>> See the bug report for the full stack trace.
>> I have not found a reproducer for jdk 12, it only occurs on new work
>> for jdk 13.
>> Thanks, Roger
More information about the core-libs-dev