--- old/src/hotspot/os/solaris/os_solaris.cpp 2019-11-14 17:19:39.102744610 -0500 +++ new/src/hotspot/os/solaris/os_solaris.cpp 2019-11-14 17:19:37.369724163 -0500 @@ -4921,10 +4921,12 @@ // the ThreadBlockInVM() CTOR and DTOR may grab Threads_lock. ThreadBlockInVM tbivm(jt); + // Can't access interrupt state now that we are _thread_blocked. If we've + // been interrupted since we checked above then _counter will be > 0. + // Don't wait if cannot get lock since interference arises from - // unblocking. Also. check interrupt before trying wait - if (jt->is_interrupted(false) || - os::Solaris::mutex_trylock(_mutex) != 0) { + // unblocking. + if (os::Solaris::mutex_trylock(_mutex) != 0) { return; }