Volker,

On 13/04/17 19:50, Volker Simonis wrote:
Hi,

can you please review the following change which fixes a problem with
UNC paths on the Windows class path:

http://cr.openjdk.java.net/~simonis/webrevs/2017/8178726/
https://bugs.openjdk.java.net/browse/JDK-8178726

I would appreciate if somebody could run this trough JPRT for me. I
won't be available until Tuesday after Easter so there's some time for
testing :)

I know that Alan has provided some comments on this, but I just
grabbed your patch and sent it through our internal build and test
system. I observed a few failures:

1)java/nio/file/spi/SetDefaultProvider.java ( all platforms )

STDERR:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.Error: java.lang.NullPointerException
at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:139) at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.access$100(FileSystems.java:100) at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:109) at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:107)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:107) at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:101)
        at java.base/java.nio.file.FileSystems.getDefault(FileSystems.java:188)
        at java.base/java.nio.file.Paths.get(Paths.java:138)
at java.base/jdk.internal.loader.URLClassPath$FileLoader.<init>(URLClassPath.java:1049)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:417)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:411)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:410) at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:379) at java.base/jdk.internal.loader.URLClassPath.getResource(URLClassPath.java:245) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:666) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:592) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:550) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:473)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:374)
at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:628) at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:524)
Caused by: java.lang.NullPointerException
        at java.base/java.nio.file.Paths.get(Paths.java:138)
at java.base/jdk.internal.loader.URLClassPath$FileLoader.<init>(URLClassPath.java:1049)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:417)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:411)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:410) at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:379) at java.base/jdk.internal.loader.URLClassPath.getResource(URLClassPath.java:245) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:666) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:592) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:550) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:473)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:374)
at java.base/java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:129)
        ... 24 more

2) java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
    ( all platforms )

Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
        at java.base/sun.nio.fs.UnixUriUtils.fromUri(UnixUriUtils.java:48)
at java.base/sun.nio.fs.UnixFileSystemProvider.getPath(UnixFileSystemProvider.java:99)
        at java.base/java.nio.file.Paths.get(Paths.java:138)
at java.base/jdk.internal.loader.URLClassPath$FileLoader.<init>(URLClassPath.java:1049)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:417)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:411)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:410) at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:379) at java.base/jdk.internal.loader.URLClassPath.getResource(URLClassPath.java:245)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:450)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:447)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:446)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:540)
at ClassLoaderDeadlock$DelayClassLoader.loadClass(ClassLoaderDeadlock.java:87)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:473)
        at ClassLoaderDeadlock.main(ClassLoaderDeadlock.java:38)

3) test\java\net\URLClassLoader\closetest\CloseTest.java ( Windows )

java.lang.IllegalArgumentException: uri
at java.base/jdk.internal.loader.URLClassPath$FileLoader.<init>(URLClassPath.java:1051)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:417)
        at 
java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:411)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:410) at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:379) at java.base/jdk.internal.loader.URLClassPath.getResource(URLClassPath.java:245)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:450)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:447)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:446)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:540)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:473)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:374)
        at Common.loadClass(Common.java:80)
        at CloseTest.test(CloseTest.java:109)
        at CloseTest.main(CloseTest.java:83)
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:563)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 7: file:C:\jprt\T\P1\101420.chhegar\s\jdk\testoutput\jdk_net\JTwork\classes\java\net\URLClassLoader\closetest/testdir/
        at java.base/java.net.URI$Parser.fail(URI.java:2904)
        at java.base/java.net.URI$Parser.checkChars(URI.java:3075)
        at java.base/java.net.URI$Parser.parse(URI.java:3111)
        at java.base/java.net.URI.<init>(URI.java:590)
        at java.base/java.net.URL.toURI(URL.java:1018)
at java.base/jdk.internal.loader.URLClassPath$FileLoader.<init>(URLClassPath.java:1049)
        ... 23 more

4) java/net/URLClassLoader/closetest/GetResourceAsStream.java ( Windows )

STDOUT:
Doing tests with URL: file:/C:/jprt/T/P1/101420.chhegar/s/jdk/testoutput/jdk_net/JTwork/classes/java/net/URLClassLoader/closetest/test.jar
 ... OK
Doing tests with URL: file:/C:/jprt/T/P1/101420.chhegar/s/jdk/testoutput/jdk_net/JTwork/classes/java/net/URLClassLoader/closetest/test.jar
 ... OK
Doing tests with URL: file:/C:/jprt/T/P1/101420.chhegar/s/jdk/testoutput/jdk_net/JTwork/classes/java/net/URLClassLoader/closetest/test.jar
 ... OK
STDERR:
java.lang.RuntimeException: Dir exists: C:\jprt\T\P1\101420.chhegar\s\jdk\testoutput\jdk_net\JTwork\classes\java\net\URLClassLoader\closetest\testdir
        at Common.copyDir(Common.java:62)
        at GetResourceAsStream.main(GetResourceAsStream.java:71)
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:563)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
        at java.base/java.lang.Thread.run(Thread.java:844)

-Chris.

Reply via email to