8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()"

Reviewed-by: minqi, iklam
This commit is contained in:
Calvin Cheung 2021-12-03 16:36:19 +00:00
parent 0d938cedca
commit 0a09092631

View File

@ -2480,12 +2480,13 @@ void FileMapInfo::stop_sharing_and_unmap(const char* msg) {
ClassPathEntry** FileMapInfo::_classpath_entries_for_jvmti = NULL;
ClassPathEntry* FileMapInfo::get_classpath_entry_for_jvmti(int i, TRAPS) {
if (i == 0) {
// index 0 corresponds to the ClassPathImageEntry which is a globally shared object
// and should never be deleted.
return ClassLoader::get_jrt_entry();
}
ClassPathEntry* ent = _classpath_entries_for_jvmti[i];
if (ent == NULL) {
if (i == 0) {
ent = ClassLoader::get_jrt_entry();
assert(ent != NULL, "must be");
} else {
SharedClassPathEntry* scpe = shared_path(i);
assert(scpe->is_jar(), "must be"); // other types of scpe will not produce archived classes
@ -2503,7 +2504,6 @@ ClassPathEntry* FileMapInfo::get_classpath_entry_for_jvmti(int i, TRAPS) {
THROW_MSG_(vmSymbols::java_io_IOException(), msg, NULL);
}
}
}
MutexLocker mu(THREAD, CDSClassFileStream_lock);
if (_classpath_entries_for_jvmti[i] == NULL) {