--- old/src/hotspot/os/posix/os_posix.cpp 2019-11-14 17:19:33.379677085 -0500 +++ new/src/hotspot/os/posix/os_posix.cpp 2019-11-14 17:19:31.340653027 -0500 @@ -2075,10 +2075,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 - // unparking. Also re-check interrupt before trying wait. - if (jt->is_interrupted(false) || - pthread_mutex_trylock(_mutex) != 0) { + // unparking. + if (pthread_mutex_trylock(_mutex) != 0) { return; }