RFR: 8279662: serviceability/sa/ClhsdbScanOops.java can fail do to unexpected GC

Serguei Spitsyn sspitsyn at openjdk.java.net
Wed Feb 2 00:17:10 UTC 2022


On Tue, 1 Feb 2022 05:29:36 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> The test is failing to find certain types in the scanoops output when run with -Xcomp. This is happening in the loom repo. The reason it is happening there is because loom introduced a full GC during codecache sweeping. The test only runs scanoops on the eden gen, and the full GC is causing objects of certain expected types to no longer be present in the eden gen. The fix is to also check the old gen.
> 
> The logic of the test had to be reworked a bit to accomplish checking the output of two scanoops commands together. It was relying on the ClhsdbLauncher class to check the output for expected strings, but in this case we need to accumulate the output of the two scanoops commands and check the combined output for the expected strings, so now the checking is done directly by the test and not by ClhsdbLauncher.
> 
> I'm choosing to fix this in the jdk repo rather than the loom repo since it is a latent bug that theoretically could occur even without the loom changes, and also to help reduce the amount of changes to be reviewed when loom is integrated into jdk.

Looks reasonable to me.
There is minor duplication but it is okay as there is no good way to get rid of it.
Thanks,
Serguei

-------------

Marked as reviewed by sspitsyn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7295


More information about the serviceability-dev mailing list