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