(11) RFR (S) JDK-8205509: assert(_name_and_id != 0LL) failed: encountered a class loader null name and id

Lois Foltan lois.foltan at oracle.com
Fri Jun 22 23:00:45 UTC 2018


Please review the following change to address a hs-tier5 test failure.  
The recent change for JDK-8202605 aggravated an existing race condition 
within ClassLoaderDataGraph::add() where a given class loader's 
ClassLoaderData structure is added to the ClassLoaderDataGraph prior to 
full initialization of the CLD's _class_loader_klass, _name and 
_name_and_id fields within ClassLoaderData::initialize_name_and_klass.  
To ensure that methods loader_name() and loader_name_and_id() always 
provide a string for the class loader name, the fix involved moving the 
field, _class_loader_klass, to the ClassLoaderData's constructor where 
if _name and/or _name_and_id fields are null, a reasonable 
_class_loader_klass's external_name() can be provided.

open webrev http://cr.openjdk.java.net/~lfoltan/bug_jdk8205509/webrev/
bug link at https://bugs.openjdk.java.net/browse/JDK-8205509

Testing: hs-tier(1-2), jdk-tier(1-3) complete
                hs-tier3-5 in progress
                --test-repeat 50 ran for tier1 platforms of test 
jdk/java/lang/instrument/DaemonThread/TestDaemonThread.java

Thanks,
Lois


More information about the hotspot-runtime-dev mailing list