--- old/src/hotspot/share/memory/metaspace.cpp 2018-10-29 23:13:09.278228348 -0400 +++ new/src/hotspot/share/memory/metaspace.cpp 2018-10-29 23:13:09.066228338 -0400 @@ -1518,7 +1518,8 @@ DEBUG_ONLY(Atomic::inc(&g_internal_statistics.num_external_deallocs)); - MutexLockerEx ml(vsm()->lock(), Mutex::_no_safepoint_check_flag); + MutexLockerEx ml(vsm()->lock()->owned_by_self() ? NULL : vsm()->lock(), + Mutex::_no_safepoint_check_flag); if (is_class && Metaspace::using_class_space()) { class_vsm()->deallocate(ptr, word_size);