JDK-8133678 : test fails due to 'CICompilerCount=0 must be at least 1' missing from stdout/stderr
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2015-08-14
  • Updated: 2017-08-17
  • Resolved: 2015-08-17
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 9
9 b81Fixed
Related Reports
Relates :  
Relates :  
Description
In an Aurora Adhoc job, the following test fails:

compiler/arguments/CheckCICompilerCount.java

Here's a snippet from the .jtr file:

----------System.err:(29/1540)----------
 stdout: [];
 stderr: [CICompilerCount (0) must be at least 1 
Improperly specified VM option 'CICompilerCount=0'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
]
 exitValue = 1

java.lang.RuntimeException: java.lang.RuntimeException: 'CICompilerCount=0 must be at least 1' missing from stdout/stderr 

	at CheckCICompilerCount.verifyValidOption(CheckCICompilerCount.java:164)
	at CheckCICompilerCount.main(CheckCICompilerCount.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:504)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:92)
	at java.lang.Thread.run(Thread.java:746)
Caused by: java.lang.RuntimeException: 'CICompilerCount=0 must be at least 1' missing from stdout/stderr 

	at jdk.test.lib.OutputAnalyzer.shouldContain(OutputAnalyzer.java:134)
	at CheckCICompilerCount.verifyValidOption(CheckCICompilerCount.java:158)
	... 7 more

JavaTest Message: Test threw exception: java.lang.RuntimeException: java.lang.RuntimeException: 'CICompilerCount=0 must be at least 1' missing from stdout/stderr 

JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.RuntimeException: java.lang.RuntimeException: 'CICompilerCount=0 must be at least 1' missing from stdout/stderr


Comments
All the test pass, ready for webrev.
15-08-2015

In the process of testing the fix...
15-08-2015

# hg diff diff -r 6351efcd97e7 test/compiler/arguments/CheckCICompilerCount.java --- a/test/compiler/arguments/CheckCICompilerCount.java Thu Aug 13 17:17:56 2015 -0500 +++ b/test/compiler/arguments/CheckCICompilerCount.java Fri Aug 14 18:59:16 2015 -0500 @@ -51,7 +51,7 @@ private static final String[][] NON_TIERED_EXPECTED_OUTPUTS = { { - "CICompilerCount=0 must be at least 1", + "CICompilerCount (0) must be at least 1", "Improperly specified VM option 'CICompilerCount=0'" }, { @@ -81,7 +81,7 @@ private static final String[][] TIERED_EXPECTED_OUTPUTS = { { - "CICompilerCount=1 must be at least 2", + "CICompilerCount (1) must be at least 2", "Improperly specified VM option 'CICompilerCount=1'" }, {
14-08-2015

Yes, things broke because we changed the output from: "CICompilerCount=XX must be at least XX" to: "CICompilerCount (XX) must be at least XX" but the test wasn't updated.
14-08-2015

Gerard, can you take a look at this bug and see if my guess about it being related to JDK-8112746 is correct. Thanks.
14-08-2015

I don't see this failure in the 2015-08-13 RT_Baseline nightly results. Poking around, it looks like this changeset made the change: Changeset: 927043f643bc Author: gziemski Date: 2015-08-13 17:17 -0500 URL: http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/rev/927043f643bc 8112746: Followup to JDK-8059557 (JEP 245) Summary: Several improvements to range/constraint check feature. Reviewed-by: coleenp, ddmitriev, sangheki, kbarrett ! src/share/vm/runtime/commandLineFlagConstraintList.cpp ! src/share/vm/runtime/commandLineFlagConstraintList.hpp ! src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp ! src/share/vm/runtime/commandLineFlagConstraintsCompiler.hpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.cpp ! src/share/vm/runtime/commandLineFlagConstraintsGC.hpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.hpp ! src/share/vm/runtime/commandLineFlagRangeList.cpp ! src/share/vm/runtime/commandLineFlagRangeList.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp I see this change snippet in the diffs: @@ -75,12 +74,11 @@ // min_number_of_compiler_threads to exceed CI_COMPILER_COUNT. min_number_of_compiler_threads = MIN2(min_number_of_compiler_threads, CI_COMPILER_COUNT); - if (*value < (intx)min_number_of_compiler_threads) { - if (verbose == true) { - jio_fprintf(defaultStream::error_stream(), - "CICompilerCount=" INTX_FORMAT " must be at least %d \n", - *value, min_number_of_compiler_threads); - } + if (value < (intx)min_number_of_compiler_threads) { + CommandLineError::print(verbose, + "CICompilerCount (" INTX_FORMAT ") must be " + "at least %d \n", + value, min_number_of_compiler_threads); return Flag::VIOLATES_CONSTRAINT; } else { return Flag::SUCCESS;
14-08-2015