-
Notifications
You must be signed in to change notification settings - Fork 2.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
Upgrade to GraalVM 20.3 #13644
Upgrade to GraalVM 20.3 #13644
Conversation
Two failures: The Tika tests are failing with:
And also related to ImageIO:
Strangely enough, we don't have a proper Exception in this case. |
In Mandrel 20.3.0.x this is fixed by graalvm/mandrel#174 I tried patching Quarkus to work with GraalVM CE 20.3 as well but with no success.
|
FTR: The commit that breaks the test is oracle/graal@39d7ff7 (part of GraalVM CE 20.3) and the commit that fixes it is oracle/graal@5d2997a (part of Mandrel 20.3 and GraalVM 21.0 but not GraalVM 20.3). The first commit (oracle/graal@39d7ff7) forces us to remove any
|
@zakkak I don't understand your statement here:
AFAICS, we already depended on AWT at runtime but, now, somehow the module is not available anymore? At least that's my understanding of the error? |
Sorry for that. What actually happens now (GraalVM 20.3 and Quarkus zakkak@cf3f394) that was not happening before (GraalVM 20.2 and Quarkus |
It did happen at build time before, then, right? If so, maybe we should just call it at static init? (throwing random ideas...) |
Yes and then because the corresponding class was initialized it didn't need to follow that path and load it during runtime.
Loading However I am not able to verify it using: import java.awt.color.ColorSpace;
import sun.java2d.cmm.CMSManager;
public class ColorSpaceTest2 {
private final static CMSManager.PCMM pcmm;
static {
pcmm = CMSManager.getModule();
}
public static void main(String[] args) {
ColorSpace.getInstance(ColorSpace.CS_sRGB);
}
} and
It doesn't run the static initializer at build time, any hints on how to force it? |
@zakkak cool, thanks! Once you have made the adjustments in the other PR, I will incorporate your commit here and see how it goes. Any idea about the other failure? The one failing on finding the size of an image for which we don't have a proper exception? |
I wonder if we have an issue with the error page in native. It's not the first time I don't see any useful exception there. |
@zakkak so the Integration Tests / Main fail with the exact same issue:
What I don't understand is that it was working before so they broke AWT entirely in 20.3? |
Yes that was expected. Sorry if I didn't make it clear. #13718 fixes only the Apache Tika issue. I will work on the ImageIOTest case next.
The loading of Those interested in more details can also check our chat with @gradinac in slack |
How did you finally manage to see the exception you posted in #13644 (comment)? |
The ugly way :). The native tests are running in prod mode so you don't see the exceptions. I went to |
Also add a comment about removing the PDFBox one when migrating to GraalVM 21.
I disabled the ImageIO test. |
integration-tests/main/src/main/java/io/quarkus/it/corestuff/ImageIOSupport.java
Show resolved
Hide resolved
We will bring them back when upgrading to GraalVM 21 but for now they don't work with GraalVM 20.3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest removing the changes for Tika (and those from #12912) and disabling both Tika and ImageIO till 20.3.1 gets out (Scheduled for Jan 19) .
20.3.1 will feature the necessary changes to make both tests build and pass without the need of any work-arounds (see oracle/graal#3077)
If 1.11.0.Final can be delayed a bit (currently targeted for Jan 16) we could make sure we have some time to test everything out with 20.3.1 before release
The core artifact will be built on January 13th and I don't think we will postpone the release. But we can upgrade to 20.3.1 in a micro of the 1.11 branch. As for the Tika workaround, let's keep it, I will revert it when upgrading to 20.3.1. |
Running CI in my fork to see how much fun we will have.
Fixes #13954