RFR 8217339: ClassCircularityError loading NumberFormatProvider

Naoto Sato naoto.sato at oracle.com
Tue Jan 22 20:29:10 UTC 2019


Hi Roger,

I'd use Locale.ROOT instead of Locale.ENGLISH in String.format(), which 
is the language invariant locale.

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.

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