-
Bug
-
Resolution: Fixed
-
P3
-
11, 17, 21, 22
-
b22
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8326439 | 21.0.4-oracle | Calvin Cheung | P3 | Resolved | Fixed | b01 |
JDK-8323339 | 21.0.3 | Aleksey Shipilev | P3 | Resolved | Fixed | b01 |
Handle CDSProtectionDomain::get_shared_protection_domain(Handle class_loader,
int shared_path_index,
Handle url,
TRAPS) {
Handle protection_domain;
if (shared_protection_domain(shared_path_index) == nullptr) {
Handle pd = get_protection_domain_from_classloader(class_loader, url, THREAD); <<<<< HERE
atomic_set_shared_protection_domain(shared_path_index, pd());
}
// Acquire from the cache because if another thread beats the current one to
// set the shared protection_domain and the atomic_set fails, the current thread
// needs to get the updated protection_domain from the cache.
protection_domain = Handle(THREAD, shared_protection_domain(shared_path_index));
assert(protection_domain.not_null(), "sanity"); <<<<< HERE
return protection_domain;
}
When we are really low on heap memory, the get_protection_domain_from_classloader() call may fail. Instead of THREAD, we should pass CHECK so that the exception is propagated properly.
- backported by
-
JDK-8323339 CDSProtectionDomain::get_shared_protection_domain should check for exception
- Resolved
-
JDK-8326439 CDSProtectionDomain::get_shared_protection_domain should check for exception
- Resolved
- relates to
-
JDK-8188791 Move AppCDS from closed repo to open repo
- Resolved
-
JDK-8316131 runtime/cds/appcds/TestParallelGCWithCDS.java fails with JNI error
- Resolved
- links to
-
Commit openjdk/jdk21u-dev/9406448c
-
Commit openjdk/jdk/11394828
-
Review openjdk/jdk21u-dev/144
-
Review openjdk/jdk/16428