JDK-8219555 : compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-02-21
  • Updated: 2022-07-01
  • Resolved: 2021-03-08
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
17 b13Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8260685 :  
Description
Test compiler/jvmci/compilerToVM/IsMatureTest.java intermittently fails with 

java.lang.RuntimeException: Unexpected isMature state for multiple times invoked method: expected false to equal true
	at jdk.test.lib.Asserts.fail(Asserts.java:594)
	at jdk.test.lib.Asserts.assertEquals(Asserts.java:205)
	at jdk.test.lib.Asserts.assertEQ(Asserts.java:178)
	at compiler.jvmci.compilerToVM.IsMatureTest.test(IsMatureTest.java:84)
	at compiler.jvmci.compilerToVM.IsMatureTest.main(IsMatureTest.java:60)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:835)
Comments
Changeset: 1f9ed905 Author: Igor Veresov <iveresov@openjdk.org> Date: 2021-03-08 18:01:27 +0000 URL: https://git.openjdk.java.net/jdk/commit/1f9ed905
08-03-2021

Note, the recent failures in this bug describe only the problem with 17 resulting from the compilation policy work (JDK-8251462). The previously reported failures in the older releases are different and should be addressed separately if they still exist.
04-03-2021

The problem with this is that the test expects that with (-Xcomp and -XX:-TieredCompilation) a method shouldn't be considered to be mature if it hasn't been invoked before. The way -Xcomp works with the tiered policy is by setting Tier4InvocationThreshold to 0, which in turn makes all methods mature, since CompilationPolicy::is_mature() uses a scaled version of the same predicates as the compilation switching logic.
01-02-2021

[~kvn] - These two tests have started failing with 4 failures per Tier6 job set after the following bug fix was integrated: JDK-8251462 Simplify compilation policy The tests should be ProblemListed in the Xcomp config: compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java compiler/jvmci/compilerToVM/IsMatureTest.java
30-01-2021

ILW = Test fails because method invoked multiple times is not detected as "mature" by JVMCI, very intermittent with single jvmci test, no workaround = MLH = P4 Marking this as test bug for now.
22-02-2019