Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8083132 | emb-9 | Coleen Phillimore | P4 | Resolved | Fixed | team |
When locking with MutexLockerEx(SOMELOCK, Mutex::_no_safepoint_check_flag) if some other code locks without Mutex::_no_safepoint_check_flag, the JVM will deadlock. The JVM should have some check that prevents you from doing this. From email discussion:
On 6/17/14, 6:11 AM, Mikael Gerdin wrote:
> I wish there was a consistency check though. If you take a lock without
> checking for safepoint, we should give an assertion if you take the same
> lock and check for safepoint. Not sure if there's an easy way to code
> it, but I think it would be worth having.
Can't we use the type system for this?
Have a
class NoSafepointCheckMutex which always elides safepoint checks
and a
class Mutex which does not allow elision of safepoint checks.
/Mikael
- backported by
-
JDK-8083132 Make Mutex::_no_safepoint_check_flag locks verify that this lock never checks for safepoint
-
- Resolved
-
- duplicates
-
JDK-8039458 Ensure consistency of Monitor/Mutex lock acquisitions in relation to safepoint protocol
-
- Closed
-
- relates to
-
JDK-8072128 mutexLocker.cpp _mutex_array[] initialization broken with safepoint check change
-
- Resolved
-
-
JDK-8039458 Ensure consistency of Monitor/Mutex lock acquisitions in relation to safepoint protocol
-
- Closed
-
-
JDK-8067972 Bring changes made to WhiteBox.java in 8047290 to that file new location in the top repo
-
- Closed
-
-
JDK-8026977 NPG: Remove ConstantPool::lock
-
- Closed
-
-
JDK-8072406 _mutex_array not initialized properly
-
- Closed
-