TestStressRSetCoarsening time to time (very rare) runs out of Heap and fails.
The tests allocates ~90% of the heap by creating Object[N] objects and then add/remove
cross object references trying to stress the Remembered Set.
The test uses WhiteBox API to determine precisely the value of N (in new Object[N]) and how many
such objects to create to fill out 90% of the heap, so there should not be any problem with
creating enough objects.
During stressing the test doesn't create new objects expect a few temporary, so there should be no
OOM. So, at the first glance it seems to be bug in the VM.
----------System.err:(17/1211)----------
java.lang.OutOfMemoryError: Java heap space
at TestStressRSetCoarsening$$StringConcat/2062096562.concat(Unknown Source)
at java.lang.invoke.LambdaForm$DMH/1109510093.invokeStatic_I3_L(java.base@9-internal/LambdaForm$DMH)
at java.lang.invoke.LambdaForm$MH/1888038690.linkToTargetMethod(java.base@9-internal/LambdaForm$MH)
at TestStressRSetCoarsening.go(TestStressRSetCoarsening.java:249)
at TestStressRSetCoarsening.main(TestStressRSetCoarsening.java:97)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:531)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
at java.lang.Thread.run(java.base@9-internal/Thread.java:843)
The tests allocates ~90% of the heap by creating Object[N] objects and then add/remove
cross object references trying to stress the Remembered Set.
The test uses WhiteBox API to determine precisely the value of N (in new Object[N]) and how many
such objects to create to fill out 90% of the heap, so there should not be any problem with
creating enough objects.
During stressing the test doesn't create new objects expect a few temporary, so there should be no
OOM. So, at the first glance it seems to be bug in the VM.
----------System.err:(17/1211)----------
java.lang.OutOfMemoryError: Java heap space
at TestStressRSetCoarsening$$StringConcat/2062096562.concat(Unknown Source)
at java.lang.invoke.LambdaForm$DMH/1109510093.invokeStatic_I3_L(java.base@9-internal/LambdaForm$DMH)
at java.lang.invoke.LambdaForm$MH/1888038690.linkToTargetMethod(java.base@9-internal/LambdaForm$MH)
at TestStressRSetCoarsening.go(TestStressRSetCoarsening.java:249)
at TestStressRSetCoarsening.main(TestStressRSetCoarsening.java:97)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:531)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
at java.lang.Thread.run(java.base@9-internal/Thread.java:843)