8245264: Test runtime/cds/appcds/SignedJar.java fails
Concurrent work of symbol table caused _shared_table not walkable in dumping archive which led symbols not sorted in shared archive. Change to use do_safepoint_scan of _local_table to collect symbols. Reviewed-by: iklam, ccheung
This commit is contained in:
parent
7e85b2c787
commit
e6855f20b0
src/hotspot/share
test/hotspot/jtreg
@ -269,6 +269,7 @@ public:
|
||||
|
||||
// Call function for all symbols in the symbol table.
|
||||
void SymbolTable::symbols_do(SymbolClosure *cl) {
|
||||
assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint");
|
||||
// all symbols from shared table
|
||||
SharedSymbolIterator iter(cl);
|
||||
_shared_table.iterate(&iter);
|
||||
@ -276,9 +277,7 @@ void SymbolTable::symbols_do(SymbolClosure *cl) {
|
||||
|
||||
// all symbols from the dynamic table
|
||||
SymbolsDo sd(cl);
|
||||
if (!_local_table->try_scan(Thread::current(), sd)) {
|
||||
log_info(symboltable)("symbols_do unavailable at this moment");
|
||||
}
|
||||
_local_table->do_safepoint_scan(sd);
|
||||
}
|
||||
|
||||
class MetaspacePointersDo : StackObj {
|
||||
|
@ -264,6 +264,7 @@ public:
|
||||
// When you do:
|
||||
// void MyType::metaspace_pointers_do(MetaspaceClosure* it) {
|
||||
// it->push(_my_field)
|
||||
// }
|
||||
//
|
||||
// C++ will try to match the "most specific" template function. This one will
|
||||
// will be matched if possible (if mpp is an Array<> of any pointer type).
|
||||
|
@ -1219,6 +1219,8 @@ class SortedSymbolClosure: public SymbolClosure {
|
||||
if (a[0] < b[0]) {
|
||||
return -1;
|
||||
} else if (a[0] == b[0]) {
|
||||
ResourceMark rm;
|
||||
log_warning(cds)("Duplicated symbol %s unexpected", (*a)->as_C_string());
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
|
@ -93,8 +93,6 @@ gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java 8241293 macosx-x64
|
||||
runtime/jni/terminatedThread/TestTerminatedThread.java 8219652 aix-ppc64
|
||||
runtime/ReservedStack/ReservedStackTest.java 8231031 generic-all
|
||||
|
||||
runtime/cds/appcds/SignedJar.java 8245264 generic-all
|
||||
|
||||
#############################################################################
|
||||
|
||||
# :hotspot_serviceability
|
||||
|
Loading…
x
Reference in New Issue
Block a user