> Hi all, > > Test com/sun/jdi/FinalizerTest.java intermittent fails. This is because > arraylist holdAlot do not clear or set as null before recliam heap memory by > invoke System.gc. This PR add arraylist.clear() before call System.gc() to > avoid OOME in the senond System.runFinalization(). > > The first System.runFinalization() has a synchronize bug. > System.runFinalization() run in another low priority Finalizer thread. In the > main thread maybe read variable finalizerRun before Finalizer thread change > it. So waitForAFinalizer will run into whille(true) allocation loop > sometimes. This PR add a countdownlatch synchronize to make sure main thread > read the finalizerRun value after Finalizer thread write it. > > This PR also remove the unused variable and optimize the imports, and add > -Xmx256M to debuggee jvm process, this will make debuggee throw OOME steady > in large physical memory machine. > > Before this PR, test failure probability about 1/30. After this PR test run > 3k times and all passed. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
SendaoYan has updated the pull request incrementally with one additional commit since the last revision: Fix the syntax of comments which suggestions from jai Co-authored-by: Chris Plummer <[email protected]> ------------- Changes: - all: https://git.openjdk.org/jdk/pull/30829/files - new: https://git.openjdk.org/jdk/pull/30829/files/43872d0d..80e6cf81 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=30829&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30829&range=02-03 Stats: 7 lines in 1 file changed: 0 ins; 1 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/30829.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30829/head:pull/30829 PR: https://git.openjdk.org/jdk/pull/30829
