[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 12:58:04 UTC 2014
Please review this patch to weaken the failing assert:
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