[jira] [Closed] (VFS-645) VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Closed] (VFS-645) VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up

JIRA jira@apache.org

     [ https://issues.apache.org/jira/browse/VFS-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Gregory closed VFS-645.
----------------------------
       Resolution: Fixed
         Assignee: Gary Gregory
    Fix Version/s: 2.3

In svn trunk.

> VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up
> ------------------------------------------------------------------
>
>                 Key: VFS-645
>                 URL: https://issues.apache.org/jira/browse/VFS-645
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: Nightly Builds, 2.1, 2.2
>         Environment: Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T13:39:06-06:00)
> Maven home: C:\Java\apache-maven-3.5.0\bin\..
> Java version: 9, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk-9
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>            Reporter: Gary Gregory
>            Assignee: Gary Gregory
>            Priority: Major
>             Fix For: 2.3
>
>
> Running the build with Oracle Java 9 on Windows 10 fails. The same failures happen with version 2.1.
> {noformat}
> Tests run: 84, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 4.01 sec <<< FAILURE! - in org.apache.commons.vfs2.provider.jar.test.NestedJarTestCase
> testSealing(org.apache.commons.vfs2.impl.test.VfsClassLoaderTests)  Time elapsed: 0 sec  <<< ERROR!
> java.lang.ClassNotFoundException: code.sealed.AnotherClass
>         at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:152)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
>         at org.apache.commons.vfs2.impl.test.VfsClassLoaderTests.testSealing(VfsClassLoaderTests.java:88)
>         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 org.apache.commons.vfs2.test.AbstractProviderTestCase.runTest(AbstractProviderTestCase.java:190)
>         at junit.framework.TestCase.runBare(TestCase.java:141)
>         at junit.framework.TestResult$1.protect(TestResult.java:122)
>         at junit.framework.TestResult.runProtected(TestResult.java:142)
>         at junit.framework.TestResult.run(TestResult.java:125)
>         at junit.framework.TestCase.run(TestCase.java:129)
>         at junit.framework.TestSuite.runTest(TestSuite.java:252)
>         at junit.framework.TestSuite.run(TestSuite.java:247)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:23)
>         at org.apache.commons.vfs2.test.AbstractTestSuite$1.protect(AbstractTestSuite.java:132)
>         at junit.framework.TestResult.runProtected(TestResult.java:142)
>         at org.apache.commons.vfs2.test.AbstractTestSuite.run(AbstractTestSuite.java:137)
>         at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
>         at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
> Caused by: org.apache.commons.vfs2.FileSystemException: Could not retrieve the certificates of "jar:jar:file:///C:/vcs/svn/apache/commons/trunks-proper/vfs/commons-vfs2/target/test-classes/test-data/nested.jar!/test.jar!/code/sealed/AnotherClass.class".
>         at org.apache.commons.vfs2.provider.DefaultFileContent.getCertificates(DefaultFileContent.java:331)
>         at org.apache.commons.vfs2.impl.VFSClassLoader.defineClass(VFSClassLoader.java:180)
>         at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:150)
>         ... 27 more
> Caused by: java.lang.IllegalStateException: zip file closed
>         at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:664)
>         at java.base/java.util.zip.ZipFile.getInputStream(ZipFile.java:334)
>         at java.base/java.util.jar.JarFile.getBytes(JarFile.java:761)
>         at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:970)
>         at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
>         at java.base/java.util.jar.JarFile$JarFileEntry.realEntry(JarFile.java:642)
>         at java.base/java.util.jar.JarFile$JarFileEntry.getCertificates(JarFile.java:626)
>         at org.apache.commons.vfs2.provider.jar.JarFileObject.doGetCertificates(JarFileObject.java:120)
>         at org.apache.commons.vfs2.provider.DefaultFileContent.getCertificates(DefaultFileContent.java:325)
>         ... 29 more
> testLoadClass(org.apache.commons.vfs2.impl.test.VfsClassLoaderTests)  Time elapsed: 0 sec  <<< ERROR!
> java.lang.ClassNotFoundException: code.ClassToLoad
>         at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:152)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
>         at org.apache.commons.vfs2.impl.test.VfsClassLoaderTests.testLoadClass(VfsClassLoaderTests.java:61)
>         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 org.apache.commons.vfs2.test.AbstractProviderTestCase.runTest(AbstractProviderTestCase.java:190)
>         at junit.framework.TestCase.runBare(TestCase.java:141)
>         at junit.framework.TestResult$1.protect(TestResult.java:122)
>         at junit.framework.TestResult.runProtected(TestResult.java:142)
>         at junit.framework.TestResult.run(TestResult.java:125)
>         at junit.framework.TestCase.run(TestCase.java:129)
>         at junit.framework.TestSuite.runTest(TestSuite.java:252)
>         at junit.framework.TestSuite.run(TestSuite.java:247)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:23)
>         at org.apache.commons.vfs2.test.AbstractTestSuite$1.protect(AbstractTestSuite.java:132)
>         at junit.framework.TestResult.runProtected(TestResult.java:142)
>         at org.apache.commons.vfs2.test.AbstractTestSuite.run(AbstractTestSuite.java:137)
>         at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
>         at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
>         at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
> Caused by: org.apache.commons.vfs2.FileSystemException: Could not retrieve the certificates of "jar:jar:file:///C:/vcs/svn/apache/commons/trunks-proper/vfs/commons-vfs2/target/test-classes/test-data/nested.jar!/test.jar!/code/ClassToLoad.class".
>         at org.apache.commons.vfs2.provider.DefaultFileContent.getCertificates(DefaultFileContent.java:331)
>         at org.apache.commons.vfs2.impl.VFSClassLoader.defineClass(VFSClassLoader.java:180)
>         at org.apache.commons.vfs2.impl.VFSClassLoader.findClass(VFSClassLoader.java:150)
>         ... 27 more
> Caused by: java.lang.IllegalStateException: zip file closed
>         at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:664)
>         at java.base/java.util.zip.ZipFile.getInputStream(ZipFile.java:334)
>         at java.base/java.util.jar.JarFile.getBytes(JarFile.java:761)
>         at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:970)
>         at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:366)
>         at java.base/java.util.jar.JarFile$JarFileEntry.realEntry(JarFile.java:642)
>         at java.base/java.util.jar.JarFile$JarFileEntry.getCertificates(JarFile.java:626)
>         at org.apache.commons.vfs2.provider.jar.JarFileObject.doGetCertificates(JarFileObject.java:120)
>         at org.apache.commons.vfs2.provider.DefaultFileContent.getCertificates(DefaultFileContent.java:325)
>         ... 29 more
> {noformat}
> Also, we get these warnings:
> {noformat}
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by org.apache.commons.vfs2.test.AbstractTestSuite (file:/C:/vcs/svn/apache/commons/trunks-proper/vfs/commons-vfs2/target/test-classes/) to field java.lang.Thread.target
> WARNING: Please consider reporting this to the maintainers of org.apache.commons.vfs2.test.AbstractTestSuite
> WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> {noformat}
> We get the same kind of failures on Java 11 using:
> {noformat}
> Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T14:41:47-04:00)
> Maven home: C:\Java\apache-maven-3.6.0\bin\..
> Java version: 11.0.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.1
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> {noformat}
> The test {{org.apache.commons.vfs2.provider.jar.test.JarProviderTestCase}} also fails.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)