RFR: 8212630: jtreg/gc/logging/TestMetaSpaceLog.java failed with Agent timed out

Kim Barrett kim.barrett at oracle.com
Tue Jun 4 01:18:16 UTC 2019

> On Jun 3, 2019, at 5:17 AM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
> On Fri, 2019-05-31 at 20:37 -0400, Kim Barrett wrote:
>>> On May 31, 2019, at 1:04 AM, Leonid Mesnik <
>>> leonid.mesnik at oracle.com> wrote:
>>>> [...]
>>> Please note that this test is always executed with all GCs
>>> specified even if specific GC is set using jtreg options. It
>>> doesn't harm for single test but increase wasting time if many
>>> tests use this approach. 
>>> BTW If test is not GC specific then it might just pick GC from
>>> jtreg command-line. It might be no sense to run it with all GCs
>>> explicitly each time.
>> I think what you are suggesting is this:
>> http://cr.openjdk.java.net/~kbarrett/8212630/open.01
>> and depend on running the test with various different GCs selected by
>> the outer test driver (like mach5) to provide coverage.  I think for
>> the current mach5 CI configuration, that would (currently) mean, for
>> this test, default (G1) in tier1 and explicit G1 and others in tier2
>> or tier3.
>> I guess that's okay.
> The test will now fail with ZGC (at least it does locally, when rung
> with -vmoption:-XX:+UseZGC) which is afaik also run in CI, and needs to
> be excluded in addition to Epsilon. Same with Shenandoah.
> Thanks,
>  Thomas

I thought I'd checked ZGC; apparently not.  Shenandoah isn't normally
tested by Oracle.

I think it's partially a ZGC bug that it doesn't work.  The test
expects to find the output from a call to print_metaspace_chage(), but
ZGC never calls that function.  The same applies for Shenandoah.

The test also seems to be wrong; it expects "[gc,metaspace" info log
messages only of the form produced by print_metaspace_change, but ZGC
has ZStatMetaspace::print(), which produces a log message not expected
by the test.

For now I'm just going to disable this test for ZGC and Shenandoah
too, and file followup bugs to fix that.

The difference from the open.01 webrev is below, and I've verified
that attempting to run the test with ZGC or Shenandoah is disabled.

diff -r b8752907ff16 -r c90c9b9ac1b1 test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java
--- a/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java	Fri May 31 20:30:44 2019 -0400
+++ b/test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java	Mon Jun 03 21:13:36 2019 -0400
@@ -44,6 +44,8 @@
  * @modules java.base/jdk.internal.misc
  *          java.management
  * @requires vm.gc != "Epsilon"
+ * @requires vm.gc != "Z"
+ * @requires vm.gc != "Shenandoah"
  * @compile TestMetaSpaceLog.java
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox

More information about the hotspot-gc-dev mailing list