JDK-8277503 : compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17,18
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: aarch64
  • Submitted: 2021-11-20
  • Updated: 2022-01-24
  • Resolved: 2021-11-23
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 17 JDK 18
17.0.3Fixed 18 b26Fixed
Related Reports
Relates :  
Sub Tasks
JDK-8277577 :  
Description
The following test failed in the JDK18 CI:

compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java

Here's a snippet from the log file:

----------System.err:(12/904)----------
java.lang.RuntimeException: OnSpinWaitInst with the expected value 'isb' not found.
	at compiler.onSpinWait.TestOnSpinWaitAArch64DefaultFlags.checkFinalFlagsEqualTo(TestOnSpinWaitAArch64DefaultFlags.java:72)
	at compiler.onSpinWait.TestOnSpinWaitAArch64DefaultFlags.main(TestOnSpinWaitAArch64DefaultFlags.java:90)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:833)

JavaTest Message: Test threw exception: java.lang.RuntimeException: OnSpinWaitInst with the expected value 'isb' not found.
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.RuntimeException: OnSpinWaitInst with the expected value 'isb' not found.
----------rerun:(35/8023)*----------
Comments
Fix Request (17u) Fix of the test which is a part of JDK-8277137 backport. The original patch removed the test from test/hotspot/jtreg/ProblemList.txt. This change causes a conflict because the test does not exist and is not excluded in jdk17. The change to the test applies cleanly.
19-01-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/107 Date: 2022-01-19 16:00:18 +0000
19-01-2022

The fix for this issue is in jdk-18+25-1699.
23-11-2021

Changeset: 7b2d823e Author: Evgeny Astigeevich <eastig@amazon.com> Committer: Paul Hohensee <phh@openjdk.org> Date: 2021-11-23 20:05:57 +0000 URL: https://git.openjdk.java.net/jdk/commit/7b2d823e842e6a66dbe46b048da44ca9e5485c75
23-11-2021

That makes sense. Thanks for the quick response! And don't forget to un-problemlist the test with your fix ;-)
23-11-2021

ILW = Test failure for newly added test on aarch64, some occurrences in tier6 and only with specific CPU and with open release build, no workaround = MLH = P4
23-11-2021

Test was not run with a special flag. Seen only with aarch64 open release build: openjdk 18-ea 2022-03-15 OpenJDK Runtime Environment (build 18-ea+25-1650) OpenJDK 64-Bit Server VM (build 18-ea+25-1650, mixed mode, sharing) CPU info: CPU: total 8 (initial active 8) 0x41:0x3:0xd0c:1, fp, simd, evtstrm, aes, pmull, sha1, sha256, crc, lse, dcpop Test was added by JDK-8277137. [~eastigeevich] can you have a look at it?
23-11-2021

OnSpinWaitInst/OnSpinWaitInstCount are diagnostic options. The test fails only in release builds because 'XX:+PrintFlagsFinal' does not print diagnostic options in release builds. The fix is to use '-XX:+UnlockDiagnosticVMOptions'.
23-11-2021

I managed to reproduce the failure on one of my arm64 machines.
23-11-2021

Two Tier6 job sets in a row (so far)...
20-11-2021