RFR: 8132459: ExceptionInInitializerError from 'java -version' on Linux under zh_CN.GB18030 locale
chuansheng.lcs at alibaba-inc.com
Wed Jul 29 03:22:40 UTC 2015
Hi Alan, Sherman,
Thanks for taking a look!
I understand and totally agree with improving module separation.
Another quick test was just done on my Linux box for all available locales, and found several more which will cause
ExceptionInInitializerError on JDK9, but worked with JDK8.
@Sherman, so other locales (except gb18030, like euctw) are all supposed to wait for the general solution, right ?
As I read from the scripts, it sounds to be implementation specific decision.
> On Jul 29, 2015, at 4:56 AM, Xueming Shen <xueming.shen at oracle.com> wrote:
> yes, gb18030 needs to be in linux/unix std-solaris/unix as well.
> On 07/28/2015 09:51 AM, Volker Simonis wrote:
>> Hi Jonathan, Alan,
>> this is a known problem and we've already discussed it intensively.
>> Please have a look at:
>> 8081674: EmptyStackException at startup if running with extended or
>> unsupported charset
>> 8087161: Fails to start up initialize system class loader running on
>> unsupported charset
>> 8081674 has a long discussion and also detailed description on how
>> this can be reproduced.
>> @Jonathan: the problem with your test case is that it is not enough to
>> only set the appropriate locale, you also have to make sure that the
>> locale is installed (see bug discussion for more details). 8081674
>> finally only fixed a part of the problem and left the rest for
>> The mailing list thread about this issue can be found here:
>> As your bug is an exact copy of 8087161 I've closed it as duplicate.
>> On Tue, Jul 28, 2015 at 3:48 PM, Alan Bateman<Alan.Bateman at oracle.com> wrote:
>>> On 28/07/2015 10:50, 陆传胜(传胜) wrote:
>>>> The issue
>>>> was found on one of my Linux boxes which uses locale zh_CN.GB18030 by
>>>> a simple
>>>> patch was made to fix it, may I have it reviewed ?
>>>> webrev: http://cr.openjdk.java.net/~luchsh/webrev-8132459/
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8132459
>>> I hope Sherman will have time to look at this and say whether GB18030 is
>>> supposed java.base and so be listed in
>>> My concern with this change is that it's bringing back code that was
>>> deliberately removed as part of JDK-8038310. We want clean separation of the
>>> java.base and jdk.charsets modules so that charsets that are needed for
>>> startup in supported locales to be in java.base. Anything that is not needed
>>> in java.base goes to jdk.charsets and is loaded via the extended charset
More information about the core-libs-dev