-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
None
The test calls JarUtils::updateJar to add an entry with a non-ASCII name into a JarFile. This method first checks if such a file exists. If yes, adds that file, and if no, creates a new entry. Unfortunately creating a Path with the name fails on some systems.
Below is an example on a Linux 3.8.13-118.13.3.el7uek.x86_64 (amd64).
java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: LineBrokenMultiByteCharacterA1234567890B1234567890C123456789D12?xyz.class
at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:280)
at java.base/java.nio.file.Paths.get(Paths.java:84)
at jdk.test.lib.util.JarUtils.updateJar(JarUtils.java:91)
at LineBrokenMultiByteCharacter.testSignJarUpdate(LineBrokenMultiByteCharacter.java:104)
at LineBrokenMultiByteCharacter.main(LineBrokenMultiByteCharacter.java:75)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:230)
at java.base/java.lang.Thread.run(Thread.java:844)
Below is an example on a Linux 3.8.13-118.13.3.el7uek.x86_64 (amd64).
java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: LineBrokenMultiByteCharacterA1234567890B1234567890C123456789D12?xyz.class
at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:280)
at java.base/java.nio.file.Paths.get(Paths.java:84)
at jdk.test.lib.util.JarUtils.updateJar(JarUtils.java:91)
at LineBrokenMultiByteCharacter.testSignJarUpdate(LineBrokenMultiByteCharacter.java:104)
at LineBrokenMultiByteCharacter.main(LineBrokenMultiByteCharacter.java:75)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainActionHelper$SameVMRunnable.run(MainActionHelper.java:230)
at java.base/java.lang.Thread.run(Thread.java:844)
- relates to
-
JDK-6695402 jarsigner does not sign UTF-8 classes which are split in more than one line
-
- Resolved
-