RFR 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)

Coleen Phillimore coleen.phillimore at oracle.com
Tue Mar 25 20:42:08 UTC 2014


Summary: Keep class in CLD::_klasses list and mirror created for CDS 
classes if OOM during restore_shareable_info(). This keeps pointers 
consistent for CMS.

This change makes restoring the mirror for shared classes restartable if 
there is an OOM in the middle of restore_unshareable_info.   The mirror 
field in the classes and CLD link is not cleaned up anymore.  The class 
isn't marked loaded though so must be loaded again.

Tested with Stefan's test case with hard coded OOM in jvm, so can't add 
the test.   Also ran all the tests against -client and server with 
-Xshare:auto and with -XX:+UseConcMarkSweepGC.

open webrev at http://cr.openjdk.java.net/~coleenp/8028497/
bug link https://bugs.openjdk.java.net/browse/JDK-8028497

Thanks,
Coleen


More information about the hotspot-dev mailing list