RFR: 8226236: [TESTBUG] win32: gc/metaspace/TestCapacityUntilGCWrapAround.java fails [v2]

Yasumasa Suenaga ysuenaga at openjdk.java.net
Wed Oct 14 13:18:36 UTC 2020


> Originally filed at AdoptOpenJDK:
> https://github.com/AdoptOpenJDK/openjdk-tests/issues/1162
> 
> The test fails on 32bit windows with:
> 
> java.lang.IllegalStateException: WB_IncMetaspaceCapacityUntilGC: could not increase capacity until GC due to contention
> with another thread
>         at sun.hotspot.WhiteBox.incMetaspaceCapacityUntilGC(Native Method)
>         at TestCapacityUntilGCWrapAround.main(TestCapacityUntilGCWrapAround.java:51)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>         at java.lang.Thread.run(Thread.java:748)
> 
> `TestCapacityUntilGCWrapAround` passes `4GB - 1` to `incMetaspaceCapacityUntilGC()`. It seems to be too big.
> And also this code seems to want to check the behavior when `_capacity_until_gc` is overflown. White box test would
> throw ISE when it hapen. So we need to handle it correctly.

Yasumasa Suenaga has updated the pull request incrementally with one additional commit since the last revision:

  Use reserve_alignment() instead of commit_alignment() in inc_capacity_until_GC

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/628/files
  - new: https://git.openjdk.java.net/jdk/pull/628/files/da9ee3d5..3b656dd8

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=628&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=628&range=00-01

  Stats: 37 lines in 3 files changed: 12 ins; 17 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/628.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/628/head:pull/628

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



More information about the hotspot-gc-dev mailing list