8175249: VMThread::run fails in VerifyBeforeExit : Universe::verify

Protection domain package access cache needs to be walked in unloading

Reviewed-by: dholmes, jiangli, zgu, kbarrett
This commit is contained in:
Coleen Phillimore 2018-01-24 11:33:18 -05:00
parent 463f07b41a
commit e9b04293e3
7 changed files with 189 additions and 4 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -1292,7 +1292,7 @@ bool ClassLoaderDataGraph::do_unloading(BoolObjectClosure* is_alive_closure,
// Remove entries in the dictionary of live class loader that have
// initiated loading classes in a dead class loader.
if (data->dictionary() != NULL) {
data->dictionary()->do_unloading();
data->dictionary()->do_unloading(is_alive_closure);
}
// Walk a ModuleEntry's reads, and a PackageEntry's exports
// lists to determine if there are modules on those lists that are now