RFR: 8293977: jdk/modules/etc/VerifyModuleDelegation.java fail with jfx
Leslie Zhai
lzhai at openjdk.org
Wed Sep 21 00:43:50 UTC 2022
On Tue, 20 Sep 2022 14:11:55 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> Hi,
>>
>> @dumasun reported the issue:
>>
>> Configured with jfx-ls-modular-sdk:
>>
>>
>> configure --with-import-modules=modular-sdk
>>
>>
>> `make run-test CONF=fastdebug TEST="jdk/modules/etc/VerifyModuleDelegation.java"` failed:
>>
>>
>> ----------System.out:(46/3114)----------
>> test VerifyModuleDelegation.checkJavaBase(): success
>> test VerifyModuleDelegation.checkLoaderDelegation(): failure
>> java.lang.Error: platform/javafx.swing can't delegate to find classes from app/jdk.unsupported.desktop
>> at VerifyModuleDelegation.lambda$checkLoaderDelegation$1(VerifyModuleDelegation.java:77)
>> at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
>> at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1921)
>> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
>> at VerifyModuleDelegation.lambda$checkLoaderDelegation$2(VerifyModuleDelegation.java:68)
>> at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1715)
>> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
>> at VerifyModuleDelegation.checkLoaderDelegation(VerifyModuleDelegation.java:68)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:578)
>> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
>> at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
>> at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
>> at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
>> at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
>> at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
>> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
>> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
>> at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>> at org.testng.TestRunner.privateRun(TestRunner.java:764)
>> at org.testng.TestRunner.run(TestRunner.java:585)
>> at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
>> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
>> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
>> at org.testng.SuiteRunner.run(SuiteRunner.java:286)
>> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
>> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
>> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
>> at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
>> at org.testng.TestNG.runSuites(TestNG.java:1069)
>> at org.testng.TestNG.run(TestNG.java:1037)
>> at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
>> at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:578)
>> at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> at java.base/java.lang.Thread.run(Thread.java:1589)
>>
>> ===============================================
>> jdk/modules/etc/VerifyModuleDelegation.java
>> Total tests run: 2, Passes: 1, Failures: 1, Skips: 0
>> ===============================================
>>
>> ----------System.err:(13/753)----------
>> WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.concurrent
>> java.lang.Exception: failures: 1
>> at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:96)
>> at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:578)
>> at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> at java.base/java.lang.Thread.run(Thread.java:1589)
>>
>>
>> Thanks,
>> Leslie Zhai
>
> In that case, a solution might be to remove `ext` from the `classloader` property from all of the `modules/javafx.*/make/build.properties` files in JavaFX:
>
>
> classloader=
>
>
> or
>
>
> classloader=app
Hi @kevinrushforth
Thanks for your hint!
@dumasun is building jfx with the quick debug patch:
diff --git a/modules/javafx.swing/make/build.properties b/modules/javafx.swing/make/build.properties
index f913584cb4..5d04f77111 100644
--- a/modules/javafx.swing/make/build.properties
+++ b/modules/javafx.swing/make/build.properties
@@ -29,4 +29,4 @@ include_in_jre=true
include_in_jdk=true
include_in_jdk_server=false
include_in_docs=true
-classloader=ext
+classloader=app
Thanks,
Leslie Zhai
-------------
PR: https://git.openjdk.org/jdk/pull/10328
More information about the core-libs-dev
mailing list