RFR (XS) CR 8015493: runtime/contended/OopMaps.java fails with OutOfMemory

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue May 28 07:22:54 PDT 2013


On 5/28/13 8:09 AM, Aleksey Shipilev wrote:
> Hi,
>
> This is the tiny fix for the nightly failure on the regression test:
>    http://cr.openjdk.java.net/~shade/8015493/webrev.01/

hotspot/test/runtime/contended/OopMaps.java
     You need another @bug line naming this bug.

Please run a 'test only' JPRT job to verify this fix. Something like
this should do it:

   jprt submit -stree . -email aleksey.shipilev at oracle.com \
       -excludetests 'linux_ppc.*' -excludetests 'linux_arm.*' \
       -testsonly -noqa \
       -otests '.*runtime.*' -rtests '*-*-*-runtime/contended/OopMaps.java'

While the JPRT job won't prove that this test won't fail again in nightly
(because different machines are in use), it will reduce the likelyhood.

Dan


>
> Reasons:
>    Due to the nature of test, R1 instance size is large (1880 bytes on
>    my Linux x86_64), and we allocate 100K of them during the test. We
>    do that in the test because we want to have some of the objects
>    pushed through the garbage collection to catch unusual behavior.
>    The flip side is, we have ~200 Mb heap allocated just for R1 objects.
>    While it works nicely on some platforms, the default heap sizes
>    may fail the test. This makes the issue the test bug.
>
> Fix:
>    Allocate 10K of R1 objects in the test, require -Xmx128m. The target
>    heap occupancy for the test is then ~20Mb, so we have lots of
>    headroom for all platforms.
>
> Testing:
>   (this falls into my definition of being trivial, so:)
>   * jtreg: runtime/contended/ on Linux x86_64
>   * manual testing with 8015270 partially reverted, OopMaps fails on
> Linux x86_64, as would anyone expect for a good regression test
>   * also looked through the code for other runtime/contended regression
> tests, and those seem unaffected
>
> Thanks,
> -Aleksey.



More information about the hotspot-runtime-dev mailing list