On 15/07/2020 5:35 am, Roger Riggs wrote:
Looks good.

Though it does seem like the VM should have been able to reclaim enough memory between tests to not need to throw OOME.

I'd have to agree with that - something seems strange here.

The first OOME in OOM1 is not actually Java heap exhaustion, but "Requested array size exceeds VM limit", so it could in theory consume sufficient Java heap that the "repeat" in OOM2 actually exhausts the heap. But that isn't what we see - the unexpected OOME is in OOM3. Before OOM2 runs out of memory the GC should have reclaimed everything from OOM1. Similarly before OOM3 runs out of memory the GC should have reclaimed everything from OOM2 - which should make it impossible for the same "repeat" call to hit an OOME in OOM3. Unless the test is being run concurrrently in the same VM as other tests?

Cheers,
David


Thanks, Roger


On 7/14/20 2:23 PM, Daniel D. Daugherty wrote:
On 7/14/20 2:09 PM, Jim Laskey wrote:
Adding Daniel

Begin forwarded message:

*From: *Jim Laskey <james.las...@oracle.com <mailto:james.las...@oracle.com>> *Subject: **RFR: JDK-8249258 java/util/StringJoiner/StringJoinerTest.java failed due to OOM (JDK 15)*
*Date: *July 14, 2020 at 2:01:09 PM ADT
*To: *core-libs-dev <core-libs-dev@openjdk.java.net <mailto:core-libs-dev@openjdk.java.net>>

The test was failing on a newly added mac mini. I've reduced the memory stress by introducing a shared maximum sized string. I don't recommend reducing the 4G memory requirement -- multiple new large objects are constructed in the tests hoping to create an OOM.

JBS: https://bugs.openjdk.java.net/browse/JDK-8249258
webrev: http://cr.openjdk.java.net/~jlaskey/8249258/webrev-01

test/jdk/java/util/StringJoiner/StringJoinerTest.java
    No comments on the changes.

This should make it less likely to cause an OOM in an unexpected place.
Thanks for fixing this so quickly.

Thumbs up. Don't know if your team updates copyrights as you
touch files, but if you do, then this one needs it...

Dan










Reply via email to