JDK-8202662 : JFR tests fails: Could not find leak with class
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-05-04
  • Updated: 2018-09-20
  • Resolved: 2018-05-09
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 11
11 b13Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Several tests failed in the nightly on all platforms:

com/oracle/jfr/event/oldobject/TestSerial.java
com/oracle/jfr/event/oldobject/TestParallel.java
com/oracle/jfr/event/oldobject/TestParallelOld.java
com/oracle/jfr/event/oldobject/TestCMS.java
com/oracle/jfr/event/oldobject/TestG1.java
com/oracle/jfr/event/oldobject/TestThreadLocalLeak.java
com/oracle/jfr/event/oldobject/TestListenerLeak.java
com/oracle/jfr/event/os/TestSystemProcess.java

Three different asserts is seen:

java.lang.Exception: Could not find leak with class [Lcom.oracle.jfr.event.oldobject.TestParallelOld$FindMe;
	at com.oracle.jfr.event.oldobject.TestParallelOld.main(TestParallelOld.java:43)
	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:569)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
	at java.base/java.lang.Thread.run(Thread.java:832)


java.lang.RuntimeException: No events: expected false, was true
	at jdk.testlibrary.Asserts.fail(Asserts.java:540)
	at jdk.testlibrary.Asserts.assertFalse(Asserts.java:465)
	at com.oracle.jfr.common.Events.hasEvents(Events.java:134)
	at com.oracle.jfr.event.os.TestSystemProcess.main(TestSystemProcess.java:32)
	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:569)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
	at java.base/java.lang.Thread.run(Thread.java:832)


java.lang.RuntimeException: Could not find root object
	at jdk.testlibrary.Asserts.fail(Asserts.java:540)
	at com.oracle.jfr.event.oldobject.TestLargeRootSet.main(TestLargeRootSet.java:105)
	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:569)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
	at java.base/java.lang.Thread.run(Thread.java:832)

Comments
After the fix I realized that com/oracle/jfr/event/os/TestSystemProcess.java still fails. It was not caused by the above change and I will open a new bug on this test. I verified this by syncing to: changeset: 49945:9425445633cf user: sjohanss date: Wed May 02 13:44:46 2018 +0200 summary: 8191471: Elastic TLABs for G1 Running the test on this change passed.
09-05-2018

Found the bug, after the above change we do not handle small TLABs very well because the BYTES vs WORDS calculation comparing the MinTLABSize was added. But all values in the TLAB size calculation uses words, while MinTLABSize is in bytes. The fix is simple will send it out for review soon and hopefully push tomorrow.
07-05-2018

This is not test related. The dumped recording lacks the FindMe[] object sanple.
07-05-2018

Bisection points to the following changeset: changeset: 49945:9425445633cf user: sjohanss date: Wed May 02 13:44:46 2018 +0200 summary: 8191471: Elastic TLABs for G1
07-05-2018