JDK-8360641 : TestCompilerCounts fails after 8354727
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 26
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-06-26
  • Updated: 2025-07-15
  • Resolved: 2025-07-02
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 26
26 b05Fixed
Related Reports
Causes :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
We see test failures after JDK-8354727 in the new test from JDK-8356000:

java.lang.AssertionError: Option 'CICompilerCount' is expected to have '12' value

	at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:309)
	at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:282)
	at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValueForSameVM(CommandLineOptionTest.java:408)
	at compiler.arguments.TestCompilerCounts.pass(TestCompilerCounts.java:168)
	at compiler.arguments.TestCompilerCounts.main(TestCompilerCounts.java:137)
	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:335)
	at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.RuntimeException: 'CICompilerCount\\s*:?=\\s*12' missing from stdout/stderr
	at jdk.test.lib.process.OutputAnalyzer.shouldMatch(OutputAnalyzer.java:372)
	at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:301)
	... 8 more


We got for example:
     intx CICompilerCount                          = 8                                         {product} {ergonomic}
Or:
     intx CICompilerCount                          = 6                                         {product} {ergonomic}


Comments
> The test should report the actual as well as expected value on failure. [~dholmes], this error originates from the CommandLineOptionsTest library. I'll file a separate RFE to address this since this goes beyond the scope of this bug.
02-07-2025

Changeset: 2304044a Branch: master Author: Manuel Hässig <mhaessig@openjdk.org> Date: 2025-07-02 08:35:51 +0000 URL: https://git.openjdk.org/jdk/commit/2304044ab2f228fe2fe4adb5975291e733b12d5c
02-07-2025

Failed on linux-aarch64 fastdebug java.lang.AssertionError: Option 'CICompilerCount' is expected to have '12' value at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:309) at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:282) at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValueForSameVM(CommandLineOptionTest.java:408) at compiler.arguments.TestCompilerCounts.pass(TestCompilerCounts.java:168) at compiler.arguments.TestCompilerCounts.main(TestCompilerCounts.java:137) 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:335) at java.base/java.lang.Thread.run(Thread.java:1474) Caused by: java.lang.RuntimeException: 'CICompilerCount\\s*:?=\\s*12' missing from stdout/stderr at jdk.test.lib.process.OutputAnalyzer.shouldMatch(OutputAnalyzer.java:372) at jdk.test.lib.cli.CommandLineOptionTest.verifyOptionValue(CommandLineOptionTest.java:301) ... 8 more Test output shows: intx CICompilerCount = 6 {product} {ergonomic} but due to output overflow we can't see the failing invocation in the log (though stacktrace should tell you). The test should report the actual as well as expected value on failure.
02-07-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/26024 Date: 2025-06-27 18:09:23 +0000
27-06-2025

Since JDK-8354727 the calculation of the CICompilerCount ergonomic depends on how large NonNMethodCodeHeapSize is. This is also an ergonomic dependent on the available memory. Hence, the test needs to fix NonNMethodCodeHeapSize and take it into account when calculating the expected number of compiler threads.
27-06-2025

ILW = Test fails (test bug, regression), single test, no workaround = MLH = P4
27-06-2025