JDK-8206947 : [Graal] compiler/graalunit/HotspotTest.java AssertionError: no profile
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2018-07-10
  • Updated: 2023-07-21
  • Resolved: 2023-07-21
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 12
12Resolved
Related Reports
Duplicate :  
Relates :  
Description
2 Graal unit tests failed:

There were 2 failures:
1) testOSR04(org.graalvm.compiler.hotspot.test.GraalOSRTest)
java.lang.AssertionError: no profile
	at org.graalvm.compiler.hotspot.test.GraalOSRTest.testFunnyOSR(GraalOSRTest.java:135)
	at org.graalvm.compiler.hotspot.test.GraalOSRTest.testOSR04(GraalOSRTest.java:109)

2) testOSR05(org.graalvm.compiler.hotspot.test.GraalOSRTest)
java.lang.AssertionError: no profile
	at org.graalvm.compiler.hotspot.test.GraalOSRTest.testFunnyOSR(GraalOSRTest.java:135)
	at org.graalvm.compiler.hotspot.test.GraalOSRTest.testOSR05(GraalOSRTest.java:114)

Comments
The FunnyOSR test is related to JDK-8201447 and was intended to reproduce that problem. So it's a loop which never executes the backedge. I suspect that since it's actually fixed in 11 that test no longer works as expected. Since it's fixed in 11 and we're going to fix it in jvmci-0.47 we might want to just delete that test. It was really there to make sure that we coped with the kind of OSR request in the parser properly. Previously it caused a bailout for us. It might be that on a slow machine it takes a while to get the profiled code for some reason.
20-07-2018

[~kvn] I was not able to reproduce it locally, I just got this failure during other testing ;)
19-07-2018

[~epavlova] How I can reproduce it locally? I ran on linux box and OSR tests passed (I commented line in problem list).
19-07-2018

Hmm,I don't see where repeatLoop is initialized to 'true'. By default it should be 0 - 'false'. private static boolean repeatLoop; public static ReturnValue testDoWhile() { do { sideEffect++; } while (repeatLoop); return ReturnValue.SUCCESS; } Unless it is intentional to execute only one iteration.
19-07-2018

I slightly modified GraalOSRTest.java to see how many iterations is required in case 200000 is not enough and here what I got: " testOSR05(org.graalvm.compiler.hotspot.test.GraalOSRTest) java.lang.AssertionError: no profile before iteration 676792 " [~kvn], [~never], any ideas why sometimes it takes so much? Modified testFunnyOSR is private void testFunnyOSR(String name, Runnable warmup) { ResolvedJavaMethod method = getResolvedJavaMethod(name); int iterations = 0; boolean testFailed = false; while (true) { ProfilingInfo profilingInfo = method.getProfilingInfo(); if (profilingInfo.isMature()) { break; } warmup.run(); if (iterations++ % 1000 == 0) { System.err.print('.'); } if (!testFailed && iterations > 200000) { testFailed = true; } } if (testFailed) { throw new AssertionError("no profile before iteration " + iterations); } System.err.println("Iterations " + iterations); compileOSR(getInitialOptions(), method); Result result = executeExpected(method, null); checkResult(result); }
19-07-2018

ILW = AssertionError failure for selected HotspotTest graalunit test; testbug, with graal, noise in tier testing; none = MMH = P3
10-07-2018

We should at least put GraalOSRTest on Graal's problem list.
10-07-2018