On Mon, 15 Nov 2021 17:28:44 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> @naotoj , sorry for bothering you again.
>> Still I got exception. It seems value "jnuEncoding" should be overwritten or 
>> set "fastEncoding" to "FAST_UTF_8" on jnu_util.c.
>> Could you check this part again ?
>> 
>> $ env LC_ALL=kk_KZ.pt154 
>> ./build/linux-x86_64-server-release/images/jdk/bin/java Hello.java 
>> WARNING: The encoding of the underlying platform's file system is not 
>> supported: PT154
>> Error: A JNI error has occurred, please check your installation and try again
>> Exception in thread "main" java.util.ServiceConfigurationError: 
>> java.nio.charset.spi.CharsetProvider: Provider 
>> sun.nio.cs.ext.ExtendedCharsets not found
>>      at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
>>      at 
>> java.base/java.util.ServiceLoader.loadProvider(ServiceLoader.java:875)
>>      at 
>> java.base/java.util.ServiceLoader$ModuleServicesLookupIterator.hasNext(ServiceLoader.java:1084)
>>      at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
>>      at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
>>      at 
>> java.base/java.nio.charset.Charset$ExtendedProviderHolder$1.run(Charset.java:428)
>>      at 
>> java.base/java.nio.charset.Charset$ExtendedProviderHolder$1.run(Charset.java:422)
>>      at 
>> java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
>>      at 
>> java.base/java.nio.charset.Charset$ExtendedProviderHolder.extendedProviders(Charset.java:422)
>>      at 
>> java.base/java.nio.charset.Charset$ExtendedProviderHolder.<clinit>(Charset.java:418)
>>      at 
>> java.base/java.nio.charset.Charset.lookupExtendedCharset(Charset.java:442)
>>      at java.base/java.nio.charset.Charset.lookup2(Charset.java:472)
>>      at java.base/java.nio.charset.Charset.lookup(Charset.java:460)
>>      at java.base/java.nio.charset.Charset.isSupported(Charset.java:501)
>>      at java.base/jdk.internal.loader.NativeLibraries.findBuiltinLib(Native 
>> Method)
>>      at 
>> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:157)
>>      at 
>> java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:322)
>>      at 
>> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:289)
>>      at 
>> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:274)
>>      at 
>> java.base/jdk.internal.loader.BootLoader.loadLibrary(BootLoader.java:149)
>>      at 
>> java.base/sun.nio.fs.UnixNativeDispatcher.<clinit>(UnixNativeDispatcher.java:667)
>>      at java.base/sun.nio.fs.UnixFileSystem.<init>(UnixFileSystem.java:65)
>>      at java.base/sun.nio.fs.LinuxFileSystem.<init>(LinuxFileSystem.java:39)
>>      at 
>> java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:46)
>>      at 
>> java.base/sun.nio.fs.LinuxFileSystemProvider.newFileSystem(LinuxFileSystemProvider.java:39)
>>      at 
>> java.base/sun.nio.fs.UnixFileSystemProvider.<init>(UnixFileSystemProvider.java:55)
>>      at 
>> java.base/sun.nio.fs.LinuxFileSystemProvider.<init>(LinuxFileSystemProvider.java:41)
>>      at 
>> java.base/sun.nio.fs.DefaultFileSystemProvider.<clinit>(DefaultFileSystemProvider.java:35)
>>      at 
>> java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:114)
>>      at 
>> java.base/java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:103)
>>      at 
>> java.base/java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:101)
>>      at 
>> java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
>>      at 
>> java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:101)
>>      at 
>> java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:94)
>>      at java.base/java.nio.file.FileSystems.getDefault(FileSystems.java:183)
>>      at java.base/java.nio.file.Path.of(Path.java:147)
>>      at java.base/java.nio.file.Paths.get(Paths.java:69)
>>      at 
>> java.base/jdk.internal.jimage.ImageReaderFactory.<clinit>(ImageReaderFactory.java:51)
>>      at 
>> java.base/jdk.internal.module.SystemModuleFinders$SystemImage.<clinit>(SystemModuleFinders.java:385)
>>      at 
>> java.base/jdk.internal.module.SystemModuleFinders$SystemModuleReader.findImageLocation(SystemModuleFinders.java:429)
>>      at 
>> java.base/jdk.internal.module.SystemModuleFinders$SystemModuleReader.read(SystemModuleFinders.java:483)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:809)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:741)
>>      at 
>> java.base/jdk.internal.loader.BuiltinClassLoader.findClass(BuiltinClassLoader.java:621)
>>      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:633)
>>      at java.base/java.lang.Class.forName(Class.java:577)
>>      at java.base/java.lang.Class.forName(Class.java:552)
>>      at 
>> java.base/sun.launcher.LauncherHelper.loadModuleMainClass(LauncherHelper.java:748)
>>      at 
>> java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:683)
>
> Fallback to UTF-8 in jni_uti.c::InitializeEncoding() as well, if the jnu 
> encoding is not supported. @takiguc, would you try the changeset on your 
> environment?

Hello @naotoj .
Test results are as follows:

$ env LC_ALL=kk_KZ.pt154 
./build/linux-x86_64-server-release/images/jdk/bin/java Hello.java
WARNING: The encoding of the underlying platform's file system is not 
supported: PT154
Hello
$ env LC_ALL=kk_KZ.pt154 
./build/linux-x86_64-server-release/images/jdk/bin/java 
-XshowSettings:properties Hello.java 2>&1 | grep encoding
WARNING: The encoding of the underlying platform's file system is not 
supported: PT154
    file.encoding = UTF-8
    native.encoding = PT154
    sun.io.unicode.encoding = UnicodeLittle
    sun.jnu.encoding = UTF-8
$ env LC_ALL=kk_KZ.pt154 
./build/linux-x86_64-server-release/images/jdk/bin/java -Dfile.encoding=COMPAT 
Hello.java
WARNING: The encoding of the underlying platform's file system is not 
supported: PT154
Hello
$ env LC_ALL=kk_KZ.pt154 
./build/linux-x86_64-server-release/images/jdk/bin/java 
-XshowSettings:properties -Dfile.encoding=COMPAT Hello.java 2>&1 | grep encoding
WARNING: The encoding of the underlying platform's file system is not 
supported: PT154
    file.encoding = PT154
    native.encoding = PT154
    sun.io.unicode.encoding = UnicodeLittle
    sun.jnu.encoding = UTF-8
$ ./build/linux-x86_64-server-release/images/jdk/bin/java Hello.java
Hello
$ ./build/linux-x86_64-server-release/images/jdk/bin/java 
-XshowSettings:properties Hello.java 2>&1 | grep encoding
    file.encoding = UTF-8
    native.encoding = UTF-8
    sun.io.unicode.encoding = UnicodeLittle
    sun.jnu.encoding = UTF-8

These were what I expected.
Many thanks.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6282

Reply via email to