RFR(XS): 8043070: nmethod::verify_interrupt_point() shouldn't enter safepoint

Mikael Gerdin mikael.gerdin at oracle.com
Wed May 14 07:04:40 UTC 2014


On Tuesday 13 May 2014 18.11.48 Igor Veresov wrote:
> nmethod::verify_interrupt_point() is called from as part of nmethod
> verification from ciEnv::register_method() that asserts no safepoint can
> occur. However verify_interrupt_point() locks a mutex that may potentially
> safepoint. A sample call stack of when it happens is in the following JBS
> issue.
> JBS: https://bugs.openjdk.java.net/browse/JDK-8043070
> Webrev: http://cr.openjdk.java.net/~iveresov/8043070/webrev.00/

It's unsafe to mix safepoint-aware and safepoint-ignoring locking on a single 
Mutex as that can deadlock the VM, see 

CompiledIC_lock is taken without _no_safepoint_check_flag at all other uses.


> igor

More information about the hotspot-compiler-dev mailing list