On Mon, 15 Nov 2021 02:40:14 GMT, Ichiroh Takiguchi <[email protected]> 
wrote:

>> I reproduced those failures on Debian Linux. Corrected the issue by 
>> replacing unsupported jnu encoding with `UTF-8` in `System::initPhase1`.
>
> @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?

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

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

Reply via email to