[8u40] RFR: 8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty
stefan.karlsson at oracle.com
Tue Nov 11 13:03:46 UTC 2014
On 2014-11-11 14:15, Mikael Gerdin wrote:
> Hi Stefan,
> On 2014-11-11 13:58, Stefan Karlsson wrote:
>> Hi all,
>> Please review this patch to weaken the failing assert:
> The change looks good.
>> The asserts in pre_work_verification and post_work_verification were put
>> in place to make sure that the worker threads entered and exited with
>> clean slates. However, in JDK 8 this code path can be taken by the
>> VMThread, which will have registered Metadata when running the
>> MetadataOnStackMark constructor in the unloading phase of
>> ConcurrentMark::weakRefsWork. This is different from JDK 9, which always
>> use worker threads to execute this path.
>> The patch has been verified with the failing test that found this issue.
More information about the hotspot-gc-dev