RFR 8217339: ClassCircularityError loading NumberFormatProvider
Mandy Chung
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.
>
> BTW,
>
> > I have not found a reproducer for jdk 12, it only occurs on new work
> for
> > 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?
Mandy
> Naoto
>
> 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
>> instead
>> of the default locale in calls to String.format.
>>
>> The java.lang.constant APIs can be used early in the startup sequence
>> before
>> the Locales and providers are initialized.
>>
>> See the bug report for the full stack trace.
>> https://bugs.openjdk.java.net/browse/JDK-8217339
>>
>> I have not found a reproducer for jdk 12, it only occurs on new work
>> for jdk 13.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~rriggs/webrev-circ-error-8217339-1
>>
>> Thanks, Roger
>>
More information about the core-libs-dev
mailing list