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

Reply via email to