RFR (S): 8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet
Bengt Rutisson
bengt.rutisson at oracle.com
Mon Apr 14 14:56:45 UTC 2014
Hi Thomas,
On 4/14/14 10:33 AM, 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/
This looks good to me.
I think I would have preferred passing exposing
G1CodeRootSet::_default_chunk_manager and explicitly passing that when
initializing HeapRegionRemSet::_code_roots rather than having the
special treatment of the default value NULL in the G1CodeRootSet
constructor. I'll leave it to you to decide.
Otherwise it looks good.
Thanks,
Bengt
>
> 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20140414/3280e969/attachment.htm>
More information about the hotspot-gc-dev
mailing list