RFR[JDK11]: 8204691: HeapRegion.apply_to_marked_objects_other_vm_test fails with assert(!hr->is_free() || hr->is_empty()) failed: Free region 0 is not empty for set Free list #

Kim Barrett kim.barrett at oracle.com
Tue Jul 10 17:21:19 UTC 2018


> On Jul 10, 2018, at 10:34 AM, Erik Helin <erik.helin at oracle.com> wrote:
> 
> On 07/09/2018 09:51 PM, Kim Barrett wrote:
>>> On Jul 9, 2018, at 11:49 AM, Erik Helin <erik.helin at oracle.com> wrote:
>>> 
>>> […]
>>> Hmmm, it is (very) unfortunate if we have native code in JVM allocating Java objects and triggering garbage collections _concurrently_ with the unit tests being run (there shouldn't be any Java code running when the unit tests are executing). I understand that we have to restore the top pointer in case there is some verification for example when the JVM exits (or if we assert in a destructor etc), but do we really need to run the test in a safepoint? There is nothing wrong with running the test in a safepoint, but it seems to me that we then would have to run almost all TEST_VM tests in a safepoint?
>>> 
>>> Thanks,
>>> Erik
>> I don't think it's quite *that* bad.[…]
> 
> Thanks for doing another round of checking. I'm still a bit concerned about some of our TEST_VM tests, I know that there are tests that e.g. temporarily changes the values of the flags in a way that would mess up a garbage collection. But lets leave that out of this patch, if there are additional problems with other tests then those can be solved in separate patches.

Yes.

> This patch looks good, Reviewed.

Thanks.

> 
> Thanks,
> Erik





More information about the hotspot-gc-dev mailing list