JDK-8215317 : [GRAAL] unit test CheckGraalIntrinsics failed after 8213754
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11.0.3,12
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-12-12
  • Updated: 2021-04-23
  • Resolved: 2018-12-13
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 12 JDK 13
11.0.3Fixed 12 b24Fixed 13Fixed
Related Reports
Relates :  
Relates :  
Description
JDK-8213754 added new intrinsics. Graal test should be adjusted to new intrinsics.

Doug S. wrote:
there will need to be a new `isJDK12OrHigher()` block in test
http://hg.openjdk.java.net/jdk/jdk/file/1ed8de9045a7/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java#l370

Comments
Fix Request That change is necessary to avoid breaking the Graal test CheckGraalIntrinsics.java once change [0] is pushed to 11u. The review thread is here: https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-January/032266.html [0] 8213754: PPC64: Add Intrinsics for isDigit/isLowerCase/isUpperCase/isWhitespace
21-01-2019

Hi David and Vladimir, Thanks for your comments. I see now. Lessons learned. Regards, Gustavo
19-12-2018

That said, any changes related to compiler intrinisics should have run all related compiler tests - including Graal - as part of core testing of the change. Reviewers should have checked and suggested necessary test coverage.
16-12-2018

No problems, Gustavo We run Graal tests only in hs-tier3 and it is understandable that it is not frequently used in pre-integration testing. Especially since 'submit' repo is testing only tier1. Thanks, Vladimir
13-12-2018

Crash is not related to this bug. I think mach5 incorrectly identified the reason for this test on Windows. The crash is expected in tryCrash() test. Actual failure was only one CheckGraalIntrinsic: FAILURES!!! Tests run: 281, Failures: 1
13-12-2018

diff -r c9459e2f7bc8 src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java --- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java +++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java @@ -376,6 +376,14 @@ "jdk/jfr/internal/JVM.getEventWriter()Ljava/lang/Object;"); } + if (isJDK12OrHigher()) { + add(toBeInvestigated, + "java/lang/CharacterDataLatin1.isDigit(I)Z", + "java/lang/CharacterDataLatin1.isLowerCase(I)Z", + "java/lang/CharacterDataLatin1.isUpperCase(I)Z", + "java/lang/CharacterDataLatin1.isWhitespace(I)Z"); + } + if (!config.inlineNotify()) { add(ignore, "java/lang/Object.notify()V"); }
13-12-2018

Intrinsics declaration is shared java code: they use annotation @HotSpotIntrinsicCandidate: http://hg.openjdk.java.net/jdk/jdk/rev/7384e00d5860#l5.16
13-12-2018

There is also a crash on Windows: # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000250a2e91c5, pid=22932, tid=36432 # # JRE version: Java(TM) SE Runtime Environment (12.0) (fastdebug build 12-internal+0-jdk12-jdk.1115) # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 12-internal+0-jdk12-jdk.1115, mixed mode, sharing, tiered, jvmci, jvmci compiler, compressed oops, g1 gc, windows-amd64) # Problematic frame: # J 18 jvmci org.graalvm.compiler.hotspot.test.Crasher.tryCrash(JI)I (32 bytes) @ 0x000000250a2e91c5 [0x000000250a2e91c0+0x0000000000000005] # # Core dump will be written. Default location: T:\testOutput\test-support\jtreg_open_test_hotspot_jtreg_compiler_graalunit\scratch\1\hs_err_pid22932.mdmp This isn't showing up in the test log but is given as a reason for the failure in mdash.
13-12-2018

Hi David and Vladimir, Sorry that 8213754 broke things to Graal. I've pushed that change to jdk/submit and all tests passed, so I'm wondering what I missed testing so I can avoid trouble next time. David, Vladimir, any recommendation in that sense? David, as Vladimir said, in order to intrinsify properly the methods in question it was necessary a few changes in the shared code too, including the addition of @HotSpotIntrinsicCandidate. Vladimir, thanks a lot for fixing it promptly. I just saw that bug open... Regards, Gustavo
13-12-2018

How does a change that was purported to be PPC64 only cause a breakage on other platforms?
13-12-2018

Bumping to P2 - tier3 failures. Please fix or ProblemList ASAP.
13-12-2018