The following test times out in the Valhalla CI:
compiler/valhalla/inlinetypes/TestOnStackReplacement.java#id3
Here's a log file snippet from one example:
#section:main
----------messages:(12/686)----------
command: main compiler.valhalla.inlinetypes.TestOnStackReplacement 3
reason: User specified action: run main compiler.valhalla.inlinetypes.TestOnStackReplacement 3
started: Wed Jan 07 19:21:03.106 UTC 2026
Mode: othervm [test requires --enable-preview]
Additional options from @modules: --add-modules java.base --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED
Process id: 17168
Timeout information:
[19:29:03.124] starting timeout handler action(s)
[19:30:11.434] timeout handler action(s) completed
--- Timeout information end.
finished: Wed Jan 07 19:30:11.441 UTC 2026
elapsed time (seconds): 548.335
----------configuration:(5/198)----------
Boot Layer
add modules: java.base
add exports: java.base/jdk.internal.value ALL-UNNAMED
java.base/jdk.internal.vm.annotation ALL-UNNAMED
----------System.out:(17/4378)*----------
For random generator using seed: 3544805219
To re-run test with same seed value please add "-Djdk.test.lib.random.seed=3544805219" to command line.
IR verification disabled due to the following reason(s):
- Using non-whitelisted JTreg VM or Javaoptions flag(s):
- OptoScheduling
Scenario #3 - [--enable-preview, --add-exports, java.base/jdk.internal.value=ALL-UNNAMED, --add-exports, java.base/jdk.internal.vm.annotation=ALL-UNNAMED, --add-exports, java.base/jdk.internal.misc=ALL-UNNAMED, -XX:+IgnoreUnrecognizedVMOptions, -DVerifyIR=false, -XX:+AlwaysIncrementalInline, -XX:FlatArrayElementMaxOops=0, -XX:-UseArrayFlattening, -XX:-UseFieldFlattening, -XX:+InlineTypePassFieldsAsArgs, -XX:+InlineTypeReturnedAsFields, -XX:-UseArrayFlattening]:
Skip Flag VM due to not performing IR verification.
Run Test VM - [--enable-preview, --add-exports, java.base/jdk.internal.value=ALL-UNNAMED, --add-exports, java.base/jdk.internal.vm.annotation=ALL-UNNAMED, --add-exports, java.base/jdk.internal.misc=ALL-UNNAMED, -XX:+IgnoreUnrecognizedVMOptions, -DVerifyIR=false, -XX:+AlwaysIncrementalInline, -XX:FlatArrayElementMaxOops=0, -XX:-UseArrayFlattening, -XX:-UseFieldFlattening, -XX:+InlineTypePassFieldsAsArgs, -XX:+InlineTypeReturnedAsFields, -XX:-UseArrayFlattening]:
Command line: [c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\windows-x64-debug.jdk\\jdk-27\\fastdebug\\bin\\java.exe -cp C:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\compiler\\valhalla\\inlinetypes\\TestOnStackReplacement_id3.d;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\hotspot\\jtreg\\compiler\\valhalla\\inlinetypes;C:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\compiler\\valhalla\\inlinetypes\\TestOnStackReplacement_id3.d\\test\\lib;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\lib;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\hotspot\\jtreg;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\8.1\\1\\bundles\\jtreg-8.1+1.zip\\jtreg\\lib\\jtreg.jar -Djava.library.path=c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\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\\25\\37\\bundles\\windows-x64\\jdk-25_windows-x64_bin.zip\\jdk-25 -Djava.io.tmpdir=c:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\tmp -XX:+CreateCoredumpOnCrash -XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation -XX:+OptoScheduling -Dir.framework.server.port=61522 --enable-preview --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED -XX:+IgnoreUnrecognizedVMOptions -DVerifyIR=false -XX:+AlwaysIncrementalInline -XX:FlatArrayElementMaxOops=0 -XX:-UseArrayFlattening -XX:-UseFieldFlattening -XX:+InlineTypePassFieldsAsArgs -XX:+InlineTypeReturnedAsFields -XX:-UseArrayFlattening -XX:-BackgroundCompilation -XX:CompileCommand=quiet -DWarmup=251 compiler.lib.ir_framework.test.TestVM compiler.valhalla.inlinetypes.TestOnStackReplacement compiler.valhalla.inlinetypes.MyValue2Inline compiler.valhalla.inlinetypes.MyValue3Inline compiler.valhalla.inlinetypes.MyValue1 compiler.valhalla.inlinetypes.MyValue3 compiler.valhalla.inlinetypes.MyValue2 ]
[2026-01-07T19:21:04.667342600Z] Gathering output for process 22736
[2026-01-07T19:21:04.755668800Z] Waiting for completion for process 22736
[19:29:03.124] Timeout signalled after 480 seconds
[2026-01-07T19:29:04.955572200Z] Waiting for completion finished for process 22736
Output and diagnostic info for process 22736 was saved into 'pid-22736-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:(1/16)----------
STATUS:Passed.
----------rerun:(50/7754)*----------
The timeout value for this sub-test is 120 seconds (the default).
In this test task, the timeoutFactor is 4 so we have a total timeout
value of 480 seconds/8 minutes.
There are currently 59 instances of this sub-test timing out in the
Valhalla CI. The failing test execution times are from 8m 24s ->
14m 37s (on a macosx-x64 machine). However, the next longest
execution time is 13m 45s on a virtualized M4 MacMini.
If we double the timeout value for the test from the default 120
to 240, then our total timeout value will be 960 seconds/16 minutes
which gives us a "comfortable" margin of a minute+ of slack past
our worst time observed so far.
Update: I've also noticed that all 59 instances include the -XX:-TieredCompilation
option. Of course, there are passing runs with -XX:-TieredCompilation, but the
ones that I checked tended to have execution times closer to 8 minutes.
compiler/valhalla/inlinetypes/TestOnStackReplacement.java#id3
Here's a log file snippet from one example:
#section:main
----------messages:(12/686)----------
command: main compiler.valhalla.inlinetypes.TestOnStackReplacement 3
reason: User specified action: run main compiler.valhalla.inlinetypes.TestOnStackReplacement 3
started: Wed Jan 07 19:21:03.106 UTC 2026
Mode: othervm [test requires --enable-preview]
Additional options from @modules: --add-modules java.base --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED
Process id: 17168
Timeout information:
[19:29:03.124] starting timeout handler action(s)
[19:30:11.434] timeout handler action(s) completed
--- Timeout information end.
finished: Wed Jan 07 19:30:11.441 UTC 2026
elapsed time (seconds): 548.335
----------configuration:(5/198)----------
Boot Layer
add modules: java.base
add exports: java.base/jdk.internal.value ALL-UNNAMED
java.base/jdk.internal.vm.annotation ALL-UNNAMED
----------System.out:(17/4378)*----------
For random generator using seed: 3544805219
To re-run test with same seed value please add "-Djdk.test.lib.random.seed=3544805219" to command line.
IR verification disabled due to the following reason(s):
- Using non-whitelisted JTreg VM or Javaoptions flag(s):
- OptoScheduling
Scenario #3 - [--enable-preview, --add-exports, java.base/jdk.internal.value=ALL-UNNAMED, --add-exports, java.base/jdk.internal.vm.annotation=ALL-UNNAMED, --add-exports, java.base/jdk.internal.misc=ALL-UNNAMED, -XX:+IgnoreUnrecognizedVMOptions, -DVerifyIR=false, -XX:+AlwaysIncrementalInline, -XX:FlatArrayElementMaxOops=0, -XX:-UseArrayFlattening, -XX:-UseFieldFlattening, -XX:+InlineTypePassFieldsAsArgs, -XX:+InlineTypeReturnedAsFields, -XX:-UseArrayFlattening]:
Skip Flag VM due to not performing IR verification.
Run Test VM - [--enable-preview, --add-exports, java.base/jdk.internal.value=ALL-UNNAMED, --add-exports, java.base/jdk.internal.vm.annotation=ALL-UNNAMED, --add-exports, java.base/jdk.internal.misc=ALL-UNNAMED, -XX:+IgnoreUnrecognizedVMOptions, -DVerifyIR=false, -XX:+AlwaysIncrementalInline, -XX:FlatArrayElementMaxOops=0, -XX:-UseArrayFlattening, -XX:-UseFieldFlattening, -XX:+InlineTypePassFieldsAsArgs, -XX:+InlineTypeReturnedAsFields, -XX:-UseArrayFlattening]:
Command line: [c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\windows-x64-debug.jdk\\jdk-27\\fastdebug\\bin\\java.exe -cp C:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\compiler\\valhalla\\inlinetypes\\TestOnStackReplacement_id3.d;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\hotspot\\jtreg\\compiler\\valhalla\\inlinetypes;C:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\classes\\3\\compiler\\valhalla\\inlinetypes\\TestOnStackReplacement_id3.d\\test\\lib;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\lib;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\src.full\\open\\test\\hotspot\\jtreg;C:\\ade\\mesos\\work_dir\\jib-master\\install\\jtreg\\8.1\\1\\bundles\\jtreg-8.1+1.zip\\jtreg\\lib\\jtreg.jar -Djava.library.path=c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-27-valhalla+1-21\\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\\25\\37\\bundles\\windows-x64\\jdk-25_windows-x64_bin.zip\\jdk-25 -Djava.io.tmpdir=c:\\sb\\prod\\1767811208\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_tier1_compiler_3\\tmp -XX:+CreateCoredumpOnCrash -XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation -XX:+OptoScheduling -Dir.framework.server.port=61522 --enable-preview --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED -XX:+IgnoreUnrecognizedVMOptions -DVerifyIR=false -XX:+AlwaysIncrementalInline -XX:FlatArrayElementMaxOops=0 -XX:-UseArrayFlattening -XX:-UseFieldFlattening -XX:+InlineTypePassFieldsAsArgs -XX:+InlineTypeReturnedAsFields -XX:-UseArrayFlattening -XX:-BackgroundCompilation -XX:CompileCommand=quiet -DWarmup=251 compiler.lib.ir_framework.test.TestVM compiler.valhalla.inlinetypes.TestOnStackReplacement compiler.valhalla.inlinetypes.MyValue2Inline compiler.valhalla.inlinetypes.MyValue3Inline compiler.valhalla.inlinetypes.MyValue1 compiler.valhalla.inlinetypes.MyValue3 compiler.valhalla.inlinetypes.MyValue2 ]
[2026-01-07T19:21:04.667342600Z] Gathering output for process 22736
[2026-01-07T19:21:04.755668800Z] Waiting for completion for process 22736
[19:29:03.124] Timeout signalled after 480 seconds
[2026-01-07T19:29:04.955572200Z] Waiting for completion finished for process 22736
Output and diagnostic info for process 22736 was saved into 'pid-22736-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:(1/16)----------
STATUS:Passed.
----------rerun:(50/7754)*----------
The timeout value for this sub-test is 120 seconds (the default).
In this test task, the timeoutFactor is 4 so we have a total timeout
value of 480 seconds/8 minutes.
There are currently 59 instances of this sub-test timing out in the
Valhalla CI. The failing test execution times are from 8m 24s ->
14m 37s (on a macosx-x64 machine). However, the next longest
execution time is 13m 45s on a virtualized M4 MacMini.
If we double the timeout value for the test from the default 120
to 240, then our total timeout value will be 960 seconds/16 minutes
which gives us a "comfortable" margin of a minute+ of slack past
our worst time observed so far.
Update: I've also noticed that all 59 instances include the -XX:-TieredCompilation
option. Of course, there are passing runs with -XX:-TieredCompilation, but the
ones that I checked tended to have execution times closer to 8 minutes.
- links to
-
Commit(lworld)
openjdk/valhalla/2adef08e
-
Review(lworld)
openjdk/valhalla/1908