Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

07543988774cc46b0e2e9352f730968ace302d51 breaks compatibility with upstream OpenJDK 11 #373

Closed
zakkak opened this issue Apr 13, 2022 · 6 comments
Assignees
Labels
affects/JDK11 JDK 11 related affects/22.2 bug Something isn't working

Comments

@zakkak
Copy link
Collaborator

zakkak commented Apr 13, 2022

Description

0754398 overrides getAddress and getEntryPoint in substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/meta/SubstrateInstalledCodeImpl.java, but these methods are final in upstream OpenJDK 11.

The final keyword was removed in OpenJDK 13 with JDK-8220623 and is not backported to OpenJDK 11 causing GraalVM to fail to build.

See https://github.com/graalvm/mandrel/runs/6000866138?check_suite_focus=true#step:7:430

Configuration:

  • OS: Fedora 35
  • Architecture: AMD64,
  • Mandrel version: 0754398
  • JDK version: OpenJDK 11.0.14.1+1

Expected behavior

Mandrel should build with upstream OpenJDK 11

@zakkak zakkak added bug Something isn't working affects/22.2 labels Apr 13, 2022
@zakkak zakkak added this to the 22.2.0.0-Final milestone Apr 13, 2022
@zakkak zakkak added the affects/JDK11 JDK 11 related label Apr 13, 2022
@zakkak
Copy link
Collaborator Author

zakkak commented Apr 13, 2022

@jerboaa I think the best way to resolve this is by backporting JDK-8220623 (or maybe just the final keyword removal to OpenJDK 11u).

Alternatively we can work-around this on the GraalVM side, by overriding the methods only when using JDK 17. But that doesn't look like an actual fix.

WDYT?

@jerboaa
Copy link
Collaborator

jerboaa commented Apr 13, 2022

@jerboaa I think the best way to resolve this is by backporting JDK-8220623 (or maybe just the final keyword removal to OpenJDK 11u).

Alternatively we can work-around this on the GraalVM side, by overriding the methods only when using JDK 17. But that doesn't look like an actual fix.

WDYT?

Backporting JDK-8220623 in its entirety is unfortunately not on the table. It's way to risky to backport to a stable release. We could consider a partial backport. I'll do some digging later today...

@jerboaa jerboaa self-assigned this Apr 14, 2022
@jerboaa
Copy link
Collaborator

jerboaa commented Apr 21, 2022

I've filed this OpenJDK issue for it:
https://bugs.openjdk.java.net/browse/JDK-8285395

@jerboaa
Copy link
Collaborator

jerboaa commented Apr 25, 2022

This should be fixed once 11.0.16+1 EA builds become available.

@jerboaa
Copy link
Collaborator

jerboaa commented May 11, 2022

Latest ea build from temurin should have this fixed. For example OpenJDK11U-jdk_x64_linux_hotspot_2022-05-11-07-22.tar.gz

@zakkak
Copy link
Collaborator Author

zakkak commented May 11, 2022

Confirmed (see https://github.com/graalvm/mandrel/runs/6388571079?check_suite_focus=true)

Thanks for the heads up @jerboaa

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects/JDK11 JDK 11 related affects/22.2 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants