[8u40] RFR: 8064556: G1: ParallelGCThreads=0 may cause assert(!MetadataOnStackMark::has_buffer_for_thread(Thread::current())) failed: Should be empty
Stefan Karlsson
stefan.karlsson at oracle.com
Tue Nov 11 12:58:04 UTC 2014
Hi all,
Please review this patch to weaken the failing assert:
http://cr.openjdk.java.net/~stefank/8064556/webrev.01
https://bugs.openjdk.java.net/browse/JDK-8064556
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.
thanks,
StefanK
More information about the hotspot-gc-dev
mailing list