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