RFR (S): 8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet

Mikael Gerdin mikael.gerdin at oracle.com
Wed Apr 16 11:23:04 UTC 2014


Thomas,

On Monday 14 April 2014 10.33.52 Thomas Schatzl wrote:
> 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/


  86 size_t G1CodeRootChunkManager::static_mem_size() {
  87   return sizeof(this);
  88 }

Should be sizeof(*this), the type of "this" is "G1CodeRootChunkManager *const"

I don't need to re-review that change.

/Mikael

> 
> 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