JDK-8282509 : [exploded image] ResolvedClassTest fails with similar output
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 19
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-03-01
  • Updated: 2022-03-17
  • Resolved: 2022-03-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17 JDK 19
17.0.4-oracleFixed 19 b14Fixed
Related Reports
Relates :  
Relates :  
Description
I see ResolvedTestClass.java fail on my 7.1 AIX test machines with output very similar to the expected output. This may
be a testbug. The test fails expecting the line '@ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)  
force inline by annotation'.

--- Linux (expected) output ---
> 128    7 %  b  3       compiler.jsr292.ResolvedClassTest$TestIndy::test @ 11 (33 bytes)
>       @ 3   java.lang.invoke.Invokers$Holder::linkToTargetMethod (9 bytes)   force inline by annotation
>       @ 5   java.lang.invoke.DirectMethodHandle$Holder::invokeStatic (14 bytes)   force inline by annotation
--- AIX (failing) output ---
< 237    7 %  b  3       compiler.jsr292.ResolvedClassTest$TestIndy::test @ 11 (33 bytes)
<       @ 3   java.lang.invoke.LambdaForm$MH/0x00000007c0002400::linkToTargetMethod (9 bytes)   force inline by
annotation
<       @ 5   java.lang.invoke.LambdaForm$DMH/0x00000007c0001c00::invokeStatic (14 bytes)   force inline by annotation

Update: Issue is not platform specific. It seems to be related to CDS which is not available on AIX. Issue can be reproduced on other platforms using an exploded image.

For future reference, it looks to me that this failure is related to missing pre-generated invokers JDK-8247536. As I understand it, these are either not created, or just not linked in the exploded image, and are never created on AIX.

Comments
A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/231 Date: 2022-03-10 15:36:59 +0000
10-03-2022

Fix Request (17u): The affected test was recently backported to 17.0.4 (JDK-8279515). The fix applies cleanly and the test has passed with an exploded image.
10-03-2022

Changeset: 7c8ea9f0 Author: Tyler Steele <tyler.steele@ibm.com> Committer: Martin Doerr <mdoerr@openjdk.org> Date: 2022-03-10 15:09:19 +0000 URL: https://git.openjdk.java.net/jdk/commit/7c8ea9f05b35069e2b5b43e1a0e46f7dbe374e4c
10-03-2022

@dlong: Right, it is not AIX specific. I've changed the title. Tyler has proposed a PR.
09-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/7701 Date: 2022-03-04 16:22:47 +0000
04-03-2022

ILW = 1 test fails on 1 platform, no workaround = MMH = P3
02-03-2022

I can reproduce this with an "exploded image" (one that didn't use jlink). Could that be what is happening here with your AIX build?
02-03-2022

On behalf of Tyler Steele (IBM).
01-03-2022