RFR (XS) 8010723 - possible deadlock with SystemDictionary_lock

Ioi Lam ioi.lam at oracle.com
Thu Mar 28 15:17:45 PDT 2013


Please review:

http://cr.openjdk.java.net/~iklam/8010723/sysdic_lock_001/

Bug: fatal error: acquiring lock Metaspace allocation lock/5 out
of order with lock SystemDictionary_lock/4 -- possible deadlock

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8010723
https://jbs.oracle.com/bugs/browse/JDK-8010723

Summary of fix:

     This crash is caused by the patch in JDK-8007725
http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/1fc4d4768b90

     The code was calling Klass::remove_unshareable_info()(from within
     SystemDictionary::clean_up_shared_class)while
     holding SystemDictionary_lock. This is unnecessary and possibly
     unsafe.

     I changed the code to call Klass::remove_unshareable_info() outside
     of the SystemDictionary_lock. This is OK
     because Klass::restore_unshareable_info()is also being called outside
     of SystemDictionary_lock.

Tests:

     I am running the UTE stress tests now.

Thanks
- Ioi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130328/508b89f0/attachment.html 


More information about the hotspot-runtime-dev mailing list