-
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
Elytron Security, Main, etc. native integration tests fail with "guarantee failed" with latest GraalVM master (23.1) #35508
Comments
/cc @Karm (mandrel), @galderz (mandrel), @sberyozkin (security), @zakkak (mandrel) |
Seems to be caused by oracle/graal#7196 |
Thanks for doing the investigation, @jerboaa |
As a workaround, use option |
Thanks, @peter-hofer. I'll see if I can get that added in a temp CI build. |
On second thought |
It looks like the Also, it might be better if we disable |
A bit of good news: I've finally had some time to reproduce locally and I can report, adding |
Thanks @jerboaa , this likely means that the old intrinsification actually hides these classes from the rest of the image build so that renaming never encounters them and therefore also doesn't fail the guarantee. |
Also this code seems to trigger the guarantee failure (specifically instantiating
@sberyozkin Do you know where the source for this provider lives? |
Another data point. I needed Update: Seems more likely caused by the issue not being reproducible 100% when I tried both versions (only once). |
@jerboaa it looks like this class is what triggers the problem. There's two identical lambdas in it, |
@peter-hofer Glad you found the class and the potential issue. Would you be able to deduce a minimal repro from that? Another observation on my end is that it doesn't seem to reliably reproduce 100%. It's more like 80-90% of the runs I've tried. Therefore, I'm no longer sure if Either way, a build with more verbose printing if the guarantee fails produced this:
|
@jerboaa I didn't find anything between b12 and b14 that should affect method handles or lambdas other than a change in |
@peter-hofer Steps to reproduce should be something along the lines of this:
Sorry, my attempts at coming up with a smaller one wasn't successful. |
Thanks for your help @jerboaa , I have pushed a fix to oracle/graal#7262. It works locally and also improves the stability of generated invokers' names across image builds. |
@peter-hofer Excellent. Thank you! We no longer see those failures in our CI: Closing as fixed. |
Great news @jerboaa , thanks for reporting back. |
Describe the bug
We see a couple of native IT tests fail with latest GraalVM master, which is GraalVM for JDK 21 (or internal version 23.1). Seems to happen with
Elytron Security
,Main
,Micrometer Prometheus
,Spring Web
and possibly others. Failure looks like this:See for example these CI runs:
https://github.com/graalvm/mandrel/actions/runs/5945859580/job/16126064976#step:12:759
https://github.com/graalvm/mandrel/actions/runs/5945859580/job/16126063503#step:12:385
https://github.com/graalvm/mandrel/actions/runs/5945859580/job/16126066006#step:12:848
It's not yet clear if this is an upstream GraalVM issue or not, but I'm filing this here for now so as to be able to track these failures.
The text was updated successfully, but these errors were encountered: