changeset 58833:0f53754d8577

8237080: fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: SharedDecoder_lock Summary: Set allow_vm_block to true for this lock. It's _safepoint_check_never so it's sort of implied (you can't safepoint holding the lock and block out the vm thread). Reviewed-by: rehn, zgu, pchilanomate, dholmes
author coleenp
date Thu, 30 Jan 2020 08:50:11 -0500
parents 58acc5079000
children abb879864b99
files src/hotspot/share/runtime/mutexLocker.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/runtime/mutexLocker.cpp	Thu Jan 30 12:42:01 2020 +0100
+++ b/src/hotspot/share/runtime/mutexLocker.cpp	Thu Jan 30 08:50:11 2020 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -329,7 +329,7 @@
   def(NMethodSweeperStats_lock     , PaddedMutex  , special,     true,  _safepoint_check_never);
   def(ThreadsSMRDelete_lock        , PaddedMonitor, special,     true,  _safepoint_check_never);
   def(ThreadIdTableCreate_lock     , PaddedMutex  , leaf,        false, _safepoint_check_always);
-  def(SharedDecoder_lock           , PaddedMutex  , native,      false, _safepoint_check_never);
+  def(SharedDecoder_lock           , PaddedMutex  , native,      true,  _safepoint_check_never);
   def(DCmdFactory_lock             , PaddedMutex  , leaf,        true,  _safepoint_check_never);
 #if INCLUDE_NMT
   def(NMTQuery_lock                , PaddedMutex  , max_nonleaf, false, _safepoint_check_always);