RFR(S): 8205472: Deadlock in Kitchensink when trying to print compile queues causing timeout
tobias.hartmann at oracle.com
Tue Jul 10 07:26:41 UTC 2018
thanks for the review.
On 10.07.2018 04:16, David Holmes wrote:
> Note that what you describe is only one half of the safety issue here. Executing the code only at a
> safepoint ensures some degree of mutual exclusion, but you also have to ensure that other code that
> would acquire that lock, can not enter a safepoint with that lock held, when the state protected by
> the lock may be inconsistent with the logic that will be executed at the safepoint.
Yes, ciEnv::register_method() has a NoSafepointVerifier right after acquiring the locks and as far
as I can tell other code that acquires the MethodCompileQueue_lock should not enter a safepoint with
an inconsistent state that would break the CompileBroker::print_compile_queues() code.
More information about the hotspot-dev