There are two GC related issues with this test that are being addressed. The 
test was limiting the heap size to 6m so if there is still a leak, it will be 
detected quickly. This proved to be too small of a size when using ZGC. For the 
most part changing the size to 7m fixed this issue. However, I was still seeing 
frequent issues with ZGC on macOS. This is explained by 
[JDK-8304449](https://bugs.openjdk.org/browse/JDK-8304449), which noticed 
(rarely) OOME on macos even when not using ZGC. From JDK-8304449:

"macOS has a thread behavior that is not seen on linux and windows that is 
causing more memory usage, which sometimes leads to this unexpected OOME. The 
debuggee side of the test constantly creates threads that do little more than a 
short sleep. It has a counter of "live" threads, and won't let that go over 
500. On the debugger side it is just tracking ThreadStartEvents and 
ThreadDeathEvents. It keep tracks of threads (ThreadReferences) for which a 
ThreadStartEvent had been received but a ThreadDeathEvent has not. On linux and 
windows the count of outstanding threads is generally in the 200-400 range, 
sometimes briefly going over 500. However, on macOS it is closer to 2400. This 
means a lot more ThreadReferences being tracked, which means more memory usage, 
so sometimes you see an OOME on macOS as a result. "

The threads collection mainly existed just so its size could be used to log the 
number of outstanding ThreadDeathEvents. I got rid of the threads collection 
and instead am just tracking the number of ThreadStartEvents and 
ThreadDeathEvents, and computing the difference to get the number of 
outstanding ThreadDeathEvents.

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

Commit messages:
 - update problem list
 - Fix GC related issues

Changes: https://git.openjdk.org/jdk/pull/13130/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13130&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8304436
  Stats: 16 lines in 2 files changed: 0 ins; 6 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/13130.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13130/head:pull/13130

PR: https://git.openjdk.org/jdk/pull/13130

Reply via email to