-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[JDK-8342212] Adapt JDK-8338411: Implement JEP 486: Permanently Disable the Security Manager. #9924
Conversation
This looks like the right fix for adapting to JDK-8338411. |
Does this result in that native image/graalvm from java 25 cannot be used to build code that target Java 17 and Java 21 ? If yes, that is quite unfortunate as for now its at least been possible to use nativeimage from newer versions to build projects targeting earlier jvm versions. If that is the case it becomes really important we somehow keep a working and updated Java 21 version of native image. |
I would imagine the use of |
@dougxc the To keep backwards compatibility (while taking advantage of the latest advancements in GraalVM) one would need to build the latest GraalVM sources with JDK 21 (How would you call that? GraalVM 25.0 for JDK 21 I guess). This seems to work fine with labsjdk, but not with upstream OpenJDK builds (see graalvm#598) |
If that's the case, then this must already be a problem given how many instances of |
Why would that be the case? You would still build your "Java 17 or Java 21 jar file" with an image-builder that runs on a JDK later than 21. Thus Only if you create a "GraalVM for JDK 21" version from master you would have a builder than runs on JDK 21 and then the |
If OpenJDK 25 can run your JDK 17 or JDK 21 jars, then native image for JDK 25 will too. This is not about |
As @zapster says with https://bugs.openjdk.org/browse/JDK-8338412 backwards compatibility is being broken for applications relying on the Security Manager. Till now we were able to get away with "build and test your application on JDK 17 and build the native image with JDK 21" which allowed us to push newer GraalVM versions to users without requiring them to bump their base JDK. Unfortunately(?), this now seems to come to an end and leaves us with the following options:
|
6de3632
to
f01d55d
Compare
@zakkak (off-topic on the Security Manger but still relevant I believe): note that is our intention to (only) support the latest version of Java in our master branch. Especially regarding your option 2: yes, right now we still have JDK21 support in master. There are different reasons for that, but ultimately, we want to get rid of this and always only support latest. Support for Java's LTS versions should only be available in our CPU branches, 23.1 for JDK21 and 23.0 for JDK17. |
Thank you for the clarification @wirthi. |
f01d55d
to
493d9f0
Compare
…not necessarily exists any longer
922ab86
to
00d2b46
Compare
00d2b46
to
d0207cd
Compare
openjdk/jdk#21498 removes the
SecurityManager
,Policy
,AccessController
and other Security Manager API implementations