RFR: 8240567: MethodTooLargeException thrown while creating a jlink image [v6]
Mandy Chung
mchung at openjdk.org
Mon Jul 3 20:25:08 UTC 2023
On Sat, 1 Jul 2023 10:07:15 GMT, Oliver Kopp <duke at openjdk.org> wrote:
>> test/jdk/tools/jlink/JLink100Modules.java line 40:
>>
>>> 38: * @library ../lib
>>> 39: * @modules java.base/jdk.internal.jimage
>>> 40: * jdk.jdeps/com.sun.tools.classfile
>>
>> I guess you copied this from other jlink tests. Do you know why jlink tests need `com.sun.tools.classfile`?
>
> If it is not present, I get following output (sorry for German - `./configure` doesn't allow `JAVA_TOOL_OPTIONS` to be set to `-Duser.language=en`
>
>
> windir='C:\WINDOWS' \
> 'c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\images\jdk\bin\javac' \
> -J-Xmx768m \
> -J-XX:MaxRAMPercentage=2.08333 \
> -J'-Dtest.boot.jdk=c:\progra~1\openjdk\jdk-20~1.1' \
> -J'-Djava.io.tmpdir=c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\tmp' \
> -J-ea \
> -J-esa \
> -J-Dtest.vm.opts='-Xmx768m -XX:MaxRAMPercentage=2.08333 -Dtest.boot.jdk=c:\progra~1\openjdk\jdk-20~1.1 -Djava.io.tmpdir=c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\tmp -ea -esa' \
> -J-Dtest.tool.vm.opts='-J-Xmx768m -J-XX:MaxRAMPercentage=2.08333 -J-Dtest.boot.jdk=c:\progra~1\openjdk\jdk-20~1.1 -J-Djava.io.tmpdir=c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\tmp -J-ea -J-esa' \
> -J-Dtest.compiler.opts= \
> -J-Dtest.java.opts= \
> -J-Dtest.jdk='c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\images\jdk' \
> -J-Dcompile.jdk='c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\images\jdk' \
> -J-Dtest.timeout.factor=4.0 \
> -J-Dtest.nativepath='c:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\images\test\jdk\jtreg\native' \
> -J-Dtest.root='C:\git-repositories\jdk\jdk\test\jdk' \
> -J-Dtest.name=tools/jlink/JLink100Modules.java \
> -J-Dtest.file='C:\git-repositories\jdk\jdk\test\jdk\tools\jlink\JLink100Modules.java' \
> -J-Dtest.src='C:\git-repositories\jdk\jdk\test\jdk\tools\jlink' \
> -J-Dtest.src.path='C:\git-repositories\jdk\jdk\test\jdk\tools\jlink;C:\git-repositories\jdk\jdk\test\jdk\tools\lib' \
> -J-Dtest.classes='C:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\classes\0\tools\jlink\JLink100Modules.d' \
> -J-Dtest.class.path='C:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\classes\0\tools\jlink\JLink100Modules.d;C:\git-repositories\jdk\jdk\build\windows-x86_64-server-release\test-support\jtreg_test_jdk_tools_jlink_JLink100Modules_java\classe...
I see now. It's used by JImageValidator and that can be replaced by the ClassFile API in the future. Thanks.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14408#discussion_r1251254277
More information about the core-libs-dev
mailing list