Openj9: JDK16 JlinkTest_AddModLimitMod_0_FAILED Error: Module java.transaction.xa not found, required by java.sql

Created on 9 Oct 2020  路  9Comments  路  Source: eclipse/openj9

Failure link

From an internal build Test_openjdkNext_j9_sanity.system_ppc64_aix_Nightly/240:

03:39:48  openjdk version "16-internal" 2021-03-16
03:39:48  OpenJDK Runtime Environment (build 16-internal+0-adhoc.jenkins.BuildJDKnextppc64aixNightly)
03:39:48  Eclipse OpenJ9 VM (build master-f22936e629b, JRE 16 AIX ppc64-64-Bit Compressed References 20201007_349 (JIT enabled, AOT enabled)
03:39:48  OpenJ9   - f22936e629b
03:39:48  OMR      - 9a61ecc52a9
03:39:48  JCL      - 50b8e2dd081 based on jdk-16+18)

For example, to rebuild the failed tests in =https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder, use the following links:
03:43:17 https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/parambuild/?JDK_VERSION=16&JDK_IMPL=openj9&BUILD_LIST=system&PLATFORM=ppc64_aix&TARGET=JlinkTest_AddModLimitMod_0

Optional info

Failure output (captured from console output)

===============================================
Running test JlinkTest_AddModLimitMod_0 ...
===============================================

JLNK Error: Module java.transaction.xa not found, required by java.sql
JLNK java.lang.module.FindException: Module java.transaction.xa not found, required by java.sql
JLNK    at java.base/java.lang.module.Resolver.findFail(Resolver.java:894)
JLNK    at java.base/java.lang.module.Resolver.resolve(Resolver.java:191)
JLNK    at java.base/java.lang.module.Resolver.resolve(Resolver.java:140)
JLNK    at java.base/java.lang.module.Configuration.resolve(Configuration.java:422)
JLNK    at java.base/java.lang.module.Configuration.resolve(Configuration.java:256)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.Jlink$JlinkConfiguration.resolve(Jlink.java:217)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImageProvider(JlinkTask.java:489)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImage(JlinkTask.java:399)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:271)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:54)
JLNK    at jdk.jlink/jdk.tools.jlink.internal.Main.main(Main.java:33)

JlinkTest_AddModLimitMod_0_FAILED
jdk16 test failure

All 9 comments

Does this fail across all platforms, or is it just a one time failure?

It is across platforms, also occurred at Test_openjdkNext_j9_sanity.system_ppc64le_linux_Nightly/308, and Test_openjdkNext_j9_sanity.system_s390x_linux_Nightly/277.
It seems new though, not in last nightly build, will see if it occurs in next build.

Nothing obvious in the changes from the previous build. The java.transaction.xa module does still exist.
https://github.com/ibmruntimes/openj9-openjdk-jdk/compare/3c980f5...50b8e2d

There was another level in between 4b45b77 https://ci.eclipse.org/openj9/job/Pipeline-OpenJDK-Acceptance/347/

Occurred again at Test_openjdkNext_j9_sanity.system_ppc64le_linux_Nightly/309 and Test_openjdkNext_j9_sanity.system_s390x_linux_Nightly/278. (There was an infra issue with AIX build)

It could be a test issue. If I try a simple test bin/jlink --output test --module-path jmods --add-modules java.sql it works, and the java.transaction.xa module is part of the result. I used the OpenJDKnext: 2f94143 sha, which is the same as the last nightly build.

@Mesbah-Alam can you pls take a look at the failure.

The test expects a specific string ("not found, required by java.sql") to appear only once in a log file. However, in case of JDK16, it appears twice. This is the cause of this failure.

Here's the content of the log file in JDK16 grinder run:

Error: Module java.xml not found, required by java.sql
java.lang.module.FindException: Module java.xml not found, required by java.sql
    at java.base/java.lang.module.Resolver.findFail(Resolver.java:894)
    at java.base/java.lang.module.Resolver.resolve(Resolver.java:191)
    at java.base/java.lang.module.Resolver.resolve(Resolver.java:140)
    at java.base/java.lang.module.Configuration.resolve(Configuration.java:422)
    at java.base/java.lang.module.Configuration.resolve(Configuration.java:256)
    at jdk.jlink/jdk.tools.jlink.internal.Jlink$JlinkConfiguration.resolve(Jlink.java:217)
    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImageProvider(JlinkTask.java:489)
    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.createImage(JlinkTask.java:399)
    at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:271)
    at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:54)
    at jdk.jlink/jdk.tools.jlink.internal.Main.main(Main.java:33)

Clearly the string "not found, required by java.sql" appears twice.


The test works fine on JDK 15 AIX.

Below is the same log's content in the passing (JDK15) case:

Error: Module java.xml not found, required by java.sql

  • which matches with what the test expects.

So, it appears that in JDK16, the error message was updated.

@pshipton - could you please confirm if this change in error output in JDK16 is not a bug in the SDK? I will then update the test accordingly.

I have created a test issue to fix this.

Close this since it's not an OpenJ9 problem and we have a systemtest issue open.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

markehammons picture markehammons  路  63Comments

lmajewski picture lmajewski  路  123Comments

pshipton picture pshipton  路  72Comments

andrew-m-leonard picture andrew-m-leonard  路  52Comments

jsimomaa picture jsimomaa  路  109Comments