RFR: 8226228: Make Threads_lock an always safepoint checked lock.

Doerr, Martin martin.doerr at sap.com
Fri Sep 6 10:57:34 UTC 2019


Hi Robbin,

we have seen the test vmTestbase/nsk/jdb/watch/watch001/watch001.java running into fatal() in Thread::check_for_valid_safepoint_state:
  if (((JavaThread*)this)->thread_state() != _thread_in_vm) {
    fatal("LEAF method calling lock?");
  }

With the following stack:
Thread::check_for_valid_safepoint_state(bool)
Mutex::lock(Thread*)
Mutex::lock()
JavaThread::block_if_vm_exited()
SafepointSynchronize::block(JavaThread*)
SafepointMechanism::block_if_requested_slow(JavaThread*)
JavaThread::check_special_condition_for_native_trans(JavaThread*)

Thread:
=>0x000000011590c800 JavaThread "output reader" [_thread_in_native_trans, id=5918, stack(0x00000001180a0000,0x00000001182ad888)]

Last Event:
Event: 8.870 Executing VM operation: Exit

Sounds like this is related to this change. Do you agree?

Best regards,
Martin



More information about the hotspot-runtime-dev mailing list