RFR (S): 8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Apr 14 08:33:52 UTC 2014
Hi all,
On Wed, 2014-04-02 at 16:23 +0200, Thomas Schatzl wrote:
> Hi all,
>
> can I have reviews for the following fix for a test case?
Bengt found a race situation where the test fails when compilation is
running while the test is run.
Instead of trying to find a way to synchronize the test with the
compiler, I changed the code to allow multiple code root chunk free
lists - the test uses one separate from the global one, so there are no
more synchronization problems, and the original change to remember the
number of already allocated code root chunks is superfluous too.
CR:
https://bugs.openjdk.java.net/browse/JDK-8038930
Here is a new webrev:
http://cr.openjdk.java.net/~tschatzl/8038930/webrev.1/
Testing:
Failing test with -Xcomp, jprt
> This test case does some basic code validation on recently introduced
> code root memory management for G1 introduced recently (JDK-8035406).
>
> It assumed that before running the test, no code root memory has been
> handed out.
>
> The problem is now, when running with -Xcomp, before the internal VM
> tests (and this test) are run, it is likely that compiled code already
> did some code root allocations.
>
> So the test needs to be aware of that, and not assume that the number of
> code root memory handed out is not zero.
>
> This change fixes that assumption.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8038930
>
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8038930/webrev/
>
> Testing:
> jprt, manual invocation of test case with -Xcomp
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list