JDK-8248822 : 8 vm/classfmt/atr_ann/atr_rtm_annot007/atr_rtm_annot00709 tests fail w/ AOT
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,15
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2020-07-04
  • Updated: 2021-01-04
  • Resolved: 2020-07-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 15 JDK 16
11.0.10-oracleFixed 15 b32Fixed 16Fixed
Description
The fix for the following bug:

    JDK-8248735 switch JCK version to JCK15-b10-2020-07-02

appears to be causing test failures in Tier4 of the JDK15 CI.

I'm starting this as a P2 due to the 8 failures (so far) in
every Tier4 job set.
Comments
Yes, this Graal code is present in 11u and it needs to be removed as we did with these changes.
24-07-2020

URL: https://hg.openjdk.java.net/jdk/jdk15/rev/b5570397db45 User: iveresov Date: 2020-07-09 00:01:10 +0000
09-07-2020

The JNI version of these intrinsics also check the cp tag, which the intrinsics don't. We should probably do that as well.
07-07-2020

The root cause of this: Graal has intrinsics for jdk.internal.reflect.ConstantPool.{getIntAt0, getLongAt0, getFloatAt0, getDoubleAt0}() that don't check the range of the cp index, whereas the original native implementations do. These intrinsics need the appropriate range checks.
07-07-2020

So, it seems like it's a Graal problem, not just AOT in particular. For the record it reproduces with -XX:+UseJVMCICompiler -Xcomp -XX:CompilationMode=high-only-quick-internal.
06-07-2020

[~iignatyev] - Thanks for chasing this one to ground!
05-07-2020

as of switching to jck15-b10 being the trigger, it's just b/c these tests were added/enabled in b10, in other words, they haven't been executed w/ AOT before.
04-07-2020

all the failed tests (vm/classfmt/atr_ann/atr_rtm_annot007/atr_rtm_annot00709m00[2-9]/atr_rtm_annot00709m00[2-9].html) have the following error message: ----------out1:(0/0)---------- ----------out2:(2/91)---------- Failed to reject bad class: no exception was thrown, but java.lang.Throwable was expected
04-07-2020

from that I see, the failures happen only w/ AOT, moving to hotspot/compiler.
04-07-2020