Most SA tests rely on the debuggee basically being idle and not doing things like triggering a GC. Unfortunately this cannot be 100% guaranteed. One issue is with LingeredApp.main(), which wakes up from sleep every second to touch the lock file. This could generate a small amount of garbage which could trigger a GC. This normally never happens, but we were seeing a case where it did if CDS was disabled. Forcing a GC before the loop seems to fix the issue.
Tested with svc CI testing in all tiers. Also ran SA tests a large number of times with and without the fix, and it seems to be reliable. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - do a GC to prevent untimely ones Changes: https://git.openjdk.org/jdk/pull/31355/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31355&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8385723 Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/31355.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31355/head:pull/31355 PR: https://git.openjdk.org/jdk/pull/31355
