corretto / corretto-17

Amazon Corretto 17 is a no-cost, multi-platform, production-ready distribution of OpenJDK 17
GNU General Public License v2.0
201 stars 47 forks source link

Compatibility check of Java 8 C++ distribution list libraries with JRE 17 #162

Closed thumbeti closed 6 months ago

thumbeti commented 6 months ago

In our product we are working on upgrading Java from version 8 to 17. In that upgrade once the deployment is done I notice the JRE folder is having C++ distributed libraries from Java 8 as those are having higher versions than Java 17.

For example, library ap-ms-win-crt-utility-l1-1-0.dll's version is 10.0.19041.685 at Java8 and for same dll is at 10.0.17763.132 in Java17. Please note that Java 8 has a higher version than Java17.

We have downloaded JAva17 JDK from https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html

Could you please let us know if that later version of C++ distributed libraries is compatible in Java 17.

Describe the bug

It is not a bug but want to check the compatibility of C++ distributed libraries between Java8 to Java17.

To Reproduce

Not applicable

Expected behavior

Java 17 should have higher version of C++ distributed libraries than Java8.

Screenshots

Platform information

OS:  Windows AMD64
Version: amazon-corretto-17.0.7.7.1-windows-x64-jdk

Additional context

Add any other context about the problem here.

For VM crashes, please attach the error report file. By default the file name is hs_err_pidpid.log, where pid is the process ID of the process.

caojoshua commented 6 months ago

For both Java 8 and 17 I see version 10.0.10240.16384.

You are not on the latest Java 17, and probably not on the latest Java 8. You can try upgrading from 17.0.7.7.1 to 17.0.9.8.1.

Could you please let us know if that later version of C++ distributed libraries is compatible in Java 17.

The libraries bundled with the JDK are compatible with that JDK.

Java 17 should have higher version of C++ distributed libraries than Java8.

They have equal versions. I do not see an issue with it.

caojoshua commented 6 months ago

Please reopen if there are further questions.

amitlpande commented 5 months ago

Hello,

The reason for not being able to latest Java 17 version is this regression - https://bugs.openjdk.org/browse/JDK-8319436 The framework we use for UI automation ran into issue:

java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.nameAndId()" because "<parameter1>" is null   at java.base/java.lang.System$2.getLoaderNameID(Unknown Source)   at java.base/java.lang.reflect.Proxy$ProxyBuilder.ensureVisible(Unknown Source)   at java.base/java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Unknown Source)   at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Unknown Source)   at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Unknown Source)   at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$0(Unknown Source)   at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(Unknown Source)   at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(Unknown Source)   at java.base/java.lang.reflect.Proxy.getProxyConstructor(Unknown Source)   at java.base/java.lang.reflect.Proxy.newProxyInstance(Unknown Source)   at org.jretrofit.AbstractRetrofitter.createProxy(AbstractRetrofitter.java:101)   at org.jretrofit.AbstractRetrofitter.partial(AbstractRetrofitter.java:136)   at org.jretrofit.AbstractRetrofitter.partial(AbstractRetrofitter.java:131)   at org.jretrofit.Retrofit.partial(Retrofit.java:70)   at org.robotframework.swing.chooser.ByTextComponentChooser.checkComponent(ByTextComponentChooser.java:34)   at org.robotframework.swing.chooser.ByNameOrTextComponentChooser.checkComponent(ByNameOrTextComponentChooser.java:36)   at org.netbeans.jemmy.operators.Operator$Finder.checkComponent(Operator.java:1144)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:188)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponentInContainer(ComponentSearcher.java:196)   at org.netbeans.jemmy.ComponentSearcher.findComponent(ComponentSearcher.java:145)   at org.netbeans.jemmy.operators.ContainerOperator$1.actionProduced(ContainerOperator.java:285)   at org.netbeans.jemmy.Waiter.checkActionProduced(Waiter.java:249)   at org.netbeans.jemmy.Waiter.waitAction(Waiter.java:142)   at org.netbeans.jemmy.operators.ContainerOperator.waitSubComponent(ContainerOperator.java:298)   at org.netbeans.jemmy.operators.JButtonOperator.<init>(JButtonOperator.java:74)   at org.netbeans.jemmy.operators.JButtonOperator.<init>(JButtonOperator.java:86) Is there any plan to backport the fixes of https://bugs.openjdk.org/browse/JDK-8319436 to Java 17 line? Thanks, Amit
benty-amzn commented 5 months ago

I see no reason not to backport 8319436 to 17u or 11u as they are both impacted by the regression. I've requested the changes upstream at jdk17u-dev#2119 and jdk11u-dev#2454.

amitlpande commented 5 months ago

Thank you so much @benty-amzn! Just confirming that 17.0.10.7.1 doesn't contain the fixes for this issue yet, right?

benty-amzn commented 5 months ago

Correct. The fix for 17 should be in 17.0.11, I'm still working on some corrections to the backport for 11.

amitlpande commented 4 months ago

Thank you @benty-amzn !

What would be the timeline for 17.0.11? We're blocked on the upgrade and the version without this regression 17.0.7 seems to have vulnerabilities reported against it.

benty-amzn commented 4 months ago

17.0.11 is scheduled for 2024-04-16