RFR: 8217170: gc/arguments/TestUseCompressedOopsErgo.java timed out

Tony Printezis tprintezis at twitter.com
Mon Jul 8 18:42:40 UTC 2019


Looks good to me too.

Tony


—————
Tony Printezis | @TonyPrintezis | tprintezis at twitter.com


On July 6, 2019 at 5:47:49 PM, Kim Barrett (kim.barrett at oracle.com) wrote:

Please review this change to many of the tests in gc/arguments to
reduce the chances of some of them timing out on some platform
configurations, especially when run with debug builds.

These tests typically launch a series of one or more child processes
with specific command line options chosen to test that specific
configuration.

In debug builds there is some extra work done by default by each of
those child processes that is unnecessary for the use at hand, and may
(in some platform configurations) add a lot to the time taken by the
child. ZapUnusedHeapArea has been identified as the major offender,
with VerifyBeforeExit being a lesser contributor. Both of these are
enabled by default in debug builds.

To address the problem there is a new helper class, GCArguments, which
provides wrappers around ProcessTools.createJavaProcessBuilder to add
options to disable those problematic features. The options are added
at the front, so they can be re-enabled by later options from a test
if desired (such as the test that checks VerifyBeforeExit). The tests
have been updated to call that new wrapper.

There is still some residual odd slowness to at least some of these
tests. The child processes usually take 10's to low 100's of
milliseconds to run, but sometimes 3-5 seconds (or 20+ seconds when
using CMS; don't know what's up with that). So there's further
investigation to be done, but the changes being made here at least
reduce the spurious timeout noise in regression testing.

CR:
https://bugs.openjdk.java.net/browse/JDK-8217170

Webrev:
http://cr.openjdk.java.net/~kbarrett/8217170/open.00/

Testing:
mach5 tier1-3

Ran tier1 entirely on a machine that is known for having reliable
timeouts without this change.



More information about the hotspot-gc-dev mailing list