JDK-8348657 : compiler/loopopts/superword/TestEquivalentInvariants.java timed out
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-01-27
  • Updated: 2025-03-13
  • Resolved: 2025-03-05
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 25
25 b13Fixed
Related Reports
Relates :  
Description
Error Output
------------


  #############################################################
   - To only run the failed tests use -DTest, -DExclude,
     and/or -DScenarios.
   - To also get the standard output of the test VM run with
     -DReportStdout=true or for even more fine-grained logging
     use -DVerbose=true.
  #############################################################


compiler.lib.ir_framework.driver.TestVMException: There were one or multiple errors. Please check stderr for more information.
	at compiler.lib.ir_framework.driver.TestVMProcess.throwTestVMException(TestVMProcess.java:245)
	at compiler.lib.ir_framework.driver.TestVMProcess.checkTestVMExitCode(TestVMProcess.java:226)
	at compiler.lib.ir_framework.driver.TestVMProcess.<init>(TestVMProcess.java:76)
	at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:758)
	at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:730)
	at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:350)
	at compiler.lib.ir_framework.TestFramework.runWithFlags(TestFramework.java:247)
	at compiler.loopopts.superword.TestEquivalentInvariants.main(TestEquivalentInvariants.java:71)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
	at java.base/java.lang.Thread.run(Thread.java:1447)

JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.TestVMException
JavaTest Message: shutting down test
ErrorAgent error: java.lang.Exception: Agent 49 timed out with a timeout of 1920 seconds; check console log for any additional details
Comments
Changeset: 75f028b4 Branch: master Author: Emanuel Peter <epeter@openjdk.org> Date: 2025-03-05 10:01:26 +0000 URL: https://git.openjdk.org/jdk/commit/75f028b46b245bdcbde8391af69020befda66b7d
05-03-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/23914 Date: 2025-03-05 07:36:13 +0000
05-03-2025

IR verification disabled due to using non-whitelisted JTreg VM or Javaoptions flag(s). Skip Flag VM due to not performing IR verification. Run Test VM - [--add-modules, java.base, --add-exports, java.base/jdk.internal.misc=ALL-UNNAMED, -XX:+AlignVector]: Command line: [c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-25+8-794\\windows-x64-debug.jdk\\jdk-25\\fastdebug\\bin\\java.exe -cp C:\\sb\\prod\\1738208822\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\compiler\\loopopts\\superword\\TestEquivalentInvariants.d;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-25+8-794\\src.full\\open\\test\\hotspot\\jtreg\\compiler\\loopopts\\superword;C:\\sb\\prod\\1738208822\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\test\\lib;C:\\sb\\prod\\1738208822\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\7.4\\1\\bundles\\jtreg-7.4+1.zip\\jtreg\\lib\\jtreg.jar;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\7.4\\1\\bundles\\jtreg-7.4+1.zip\\jtreg\\lib\\junit-platform-console-standalone-1.10.2.jar;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\7.4\\1\\bundles\\jtreg-7.4+1.zip\\jtreg\\lib\\testng-7.3.0.jar;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\7.4\\1\\bundles\\jtreg-7.4+1.zip\\jtreg\\lib\\jcommander-1.82.jar;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\7.4\\1\\bundles\\jtreg-7.4+1.zip\\jtreg\\lib\\guice-5.1.0.jar -Djava.library.path=c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-25+8-794\\windows-x64-debug.test\\hotspot\\jtreg\\native -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:MaxRAMPercentage=4.16667 -Dtest.boot.jdk=c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk\\23\\37\\bundles\\windows-x64\\jdk-23_windows-x64_bin.zip\\jdk-23 -Djava.io.tmpdir=c:\\sb\\prod\\1738208822\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\tmp -XX:+CreateCoredumpOnCrash -Xcomp -ea -esa -XX:+UnlockExperimentalVMOptions -server -XX:+TieredCompilation -XX:+VerifyOops -Dir.framework.server.port=54337 --add-modules java.base --add-exports java.base/jdk.internal.misc=ALL-UNNAMED -XX:+AlignVector -XX:-BackgroundCompilation -XX:CompileCommand=quiet compiler.lib.ir_framework.test.TestVM compiler.loopopts.superword.TestEquivalentInvariants ] [2025-01-30T04:53:55.764544300Z] Gathering output for process 19528 [2025-01-30T04:53:55.765539600Z] Waiting for completion for process 19528 [2025-01-30T05:14:00.907617600Z] Waiting for completion finished for process 19528 Output and diagnostic info for process 19528 was saved into 'pid-19528-output.log' IR verification disabled either due to no @IR annotations, through explicitly setting -DVerify=false, due to not running a debug build, using a non-whitelisted JTreg VM or Javaopts flag like -Xint, or running the test VM with other VM flags added by user code that make the IR verification impossible (e.g. -XX:-UseCompile, -XX:TieredStopAtLevel=[1,2,3], etc.). ----------System.err:(3/38)---------- JavaTest Message: Test complete. result: Error. Agent error: java.lang.Exception: Agent 57 timed out with a timeout of 1920 seconds; check console log for any additional details
30-01-2025

Thanks for looking into this!
28-01-2025

Ah, I just saw that we run these flags in Tier7. We'll just have to raise the test timeout most likely.
28-01-2025

I had a quick look at the timeout handler and the test seems to make progress: "main" #3 [56272] prio=5 os_prio=0 cpu=942829.33ms elapsed=983.48s allocated=731M defined_classes=457 tid=0x00007fc2e802cba0 nid=56272 runnable [0x00007fc2ed472000] java.lang.Thread.State: RUNNABLE Thread: 0x00007fc2e802cba0 [0xdbd0] State: _at_safepoint _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.invoke.VarHandleSegmentAsBytes.offsetPlain(java.base@25-ea/VarHandleSegmentAsBytes.java:97) at java.lang.invoke.VarHandleSegmentAsBytes.get(java.base@25-ea/VarHandleSegmentAsBytes.java:107) at java.lang.invoke.LambdaForm$DMH/0x00007fc277018000.invokeStatic(java.base@25-ea/LambdaForm$DMH) at java.lang.invoke.LambdaForm$MH/0x00007fc277019400.invoke(java.base@25-ea/LambdaForm$MH) at java.lang.invoke.VarHandleGuards.guard_LJ_I(java.base@25-ea/VarHandleGuards.java:1002) at jdk.internal.foreign.AbstractMemorySegmentImpl.get(java.base@25-ea/AbstractMemorySegmentImpl.java:681) at compiler.loopopts.superword.TestEquivalentInvariants.verifyMS(TestEquivalentInvariants.java:366) at compiler.loopopts.superword.TestEquivalentInvariants.verify(TestEquivalentInvariants.java:360) at compiler.loopopts.superword.TestEquivalentInvariants.runTests(TestEquivalentInvariants.java:267) at java.lang.invoke.LambdaForm$DMH/0x00007fc27701d400.invokeVirtual(java.base@25-ea/LambdaForm$DMH) at java.lang.invoke.LambdaForm$MH/0x00007fc27701dc00.invoke(java.base@25-ea/LambdaForm$MH) at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@25-ea/Invokers$Holder) at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@25-ea/DirectMethodHandleAccessor.java:154) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@25-ea/DirectMethodHandleAccessor.java:104) at java.lang.reflect.Method.invoke(java.base@25-ea/Method.java:565) at compiler.lib.ir_framework.test.CustomRunTest.invokeTest(CustomRunTest.java:159) at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:98) at compiler.lib.ir_framework.test.CustomRunTest.run(CustomRunTest.java:89) at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:861) at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:252) at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:165) And later: "main" #3 [56272] prio=5 os_prio=0 cpu=947428.37ms elapsed=988.12s allocated=735M defined_classes=457 tid=0x00007fc2e802cba0 nid=56272 runnable [0x00007fc2ed472000] java.lang.Thread.State: RUNNABLE Thread: 0x00007fc2e802cba0 [0xdbd0] State: _at_safepoint _at_poll_safepoint 0 JavaThread state: _thread_blocked at java.lang.invoke.LambdaForm$DMH/0x00007fc277018000.invokeStatic(java.base@25-ea/LambdaForm$DMH) at java.lang.invoke.LambdaForm$MH/0x00007fc277019400.invoke(java.base@25-ea/LambdaForm$MH) at java.lang.invoke.VarHandleGuards.guard_LJ_I(java.base@25-ea/VarHandleGuards.java:1002) at jdk.internal.foreign.AbstractMemorySegmentImpl.get(java.base@25-ea/AbstractMemorySegmentImpl.java:681) at compiler.loopopts.superword.TestEquivalentInvariants.verifyMS(TestEquivalentInvariants.java:367) at compiler.loopopts.superword.TestEquivalentInvariants.verify(TestEquivalentInvariants.java:360) at compiler.loopopts.superword.TestEquivalentInvariants.runTests(TestEquivalentInvariants.java:267) at java.lang.invoke.LambdaForm$DMH/0x00007fc27701d400.invokeVirtual(java.base@25-ea/LambdaForm$DMH) at java.lang.invoke.LambdaForm$MH/0x00007fc27701dc00.invoke(java.base@25-ea/LambdaForm$MH) at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@25-ea/Invokers$Holder) at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@25-ea/DirectMethodHandleAccessor.java:154) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@25-ea/DirectMethodHandleAccessor.java:104) at java.lang.reflect.Method.invoke(java.base@25-ea/Method.java:565) at compiler.lib.ir_framework.test.CustomRunTest.invokeTest(CustomRunTest.java:159) at compiler.lib.ir_framework.test.AbstractTest.run(AbstractTest.java:98) at compiler.lib.ir_framework.test.CustomRunTest.run(CustomRunTest.java:89) at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:861) at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:252) at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:165)
28-01-2025

The original failure happened in the CI at tier8, also with -XX:+VerifyOops. We might just have to increase the timeout of this test. Assuming it's a test bug for now: ILW = Test times out (test bug), single testwith -XX:+VerifyOops, no workaround = MLH = P4
28-01-2025

[~yeren] I see you ran it with extra flags: -Xcomp -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:+TieredCompilation -XX:+VerifyOops These may make the test slower than expected, and you just have to manually increase the timeout. Can you check which flags could be the culprit here, that make it so slow?
28-01-2025