I hit this assert when I ran testing with UseCompressedClassPointers == false set in runtime/globals.hpp:
```
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 8dafc9a508d..14fe9364a9e 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -124,7 +124,7 @@ const size_t minimumSymbolTableSize = 1024;
"Use 32-bit object references in 64-bit VM. " \
"lp64_product means flag is always constant in 32 bit VM") \
\
- product(bool, UseCompressedClassPointers, true, \
+ product(bool, UseCompressedClassPointers, false, \
"Use 32-bit class pointers in 64-bit VM. " \
"lp64_product means flag is always constant in 32 bit VM") \
\
```
# Internal Error (src/hotspot/share/nmt/virtualMemoryTracker.cpp:386), pid=3424049, tid=3424067
# assert(reserved_rgn->contain_region(base_addr, size)) failed: Reserved CDS region should contain this mapping region
Stack: [0x00007e8927e30000,0x00007e8927f30000], sp=0x00007e8927f2ed00, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x18cc514] VirtualMemoryTracker::add_reserved_region(unsigned char*, unsigned long, NativeCallStack const&, MemTag)+0x7e4 (virtualMemoryTracker.cpp:386)
V [libjvm.so+0x1811771] ThreadStackTracker::new_thread_stack(void*, unsigned long, NativeCallStack const&)+0x51 (threadStackTracker.cpp:57)
V [libjvm.so+0x17fbc70] Thread::register_thread_stack_with_NMT()+0x60 (memTracker.hpp:231)
V [libjvm.so+0x17fce49] Thread::call_run()+0x39 (thread.cpp:210)
V [libjvm.so+0x14e6527] thread_native_entry(Thread*)+0x127 (os_linux.cpp:858)
Surrounding VMAs:
7e8927000000-7e8927e0e000 rw-p 00001000 103:03 24648699 build/fastdebug/test-support/jtreg_open_test_hotspot_jtreg_runtime_cds_appcds_dynamicArchive_WrongTopClasspath_java/runtime/cds/appcds/dynamic
Archive/WrongTopClasspath/base-11h40m36s755.jsa
7e8927e30000-7e8927f30000 rw-p 00000000 00:00 0
7e8927f30000-7e8927ffe000 r-xp 00000000 103:03 24538022 build/fastdebug/images/jdk/lib/libjsvml.so
```
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 8dafc9a508d..14fe9364a9e 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -124,7 +124,7 @@ const size_t minimumSymbolTableSize = 1024;
"Use 32-bit object references in 64-bit VM. " \
"lp64_product means flag is always constant in 32 bit VM") \
\
- product(bool, UseCompressedClassPointers, true, \
+ product(bool, UseCompressedClassPointers, false, \
"Use 32-bit class pointers in 64-bit VM. " \
"lp64_product means flag is always constant in 32 bit VM") \
\
```
# Internal Error (src/hotspot/share/nmt/virtualMemoryTracker.cpp:386), pid=3424049, tid=3424067
# assert(reserved_rgn->contain_region(base_addr, size)) failed: Reserved CDS region should contain this mapping region
Stack: [0x00007e8927e30000,0x00007e8927f30000], sp=0x00007e8927f2ed00, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x18cc514] VirtualMemoryTracker::add_reserved_region(unsigned char*, unsigned long, NativeCallStack const&, MemTag)+0x7e4 (virtualMemoryTracker.cpp:386)
V [libjvm.so+0x1811771] ThreadStackTracker::new_thread_stack(void*, unsigned long, NativeCallStack const&)+0x51 (threadStackTracker.cpp:57)
V [libjvm.so+0x17fbc70] Thread::register_thread_stack_with_NMT()+0x60 (memTracker.hpp:231)
V [libjvm.so+0x17fce49] Thread::call_run()+0x39 (thread.cpp:210)
V [libjvm.so+0x14e6527] thread_native_entry(Thread*)+0x127 (os_linux.cpp:858)
Surrounding VMAs:
7e8927000000-7e8927e0e000 rw-p 00001000 103:03 24648699 build/fastdebug/test-support/jtreg_open_test_hotspot_jtreg_runtime_cds_appcds_dynamicArchive_WrongTopClasspath_java/runtime/cds/appcds/dynamic
Archive/WrongTopClasspath/base-11h40m36s755.jsa
7e8927e30000-7e8927f30000 rw-p 00000000 00:00 0
7e8927f30000-7e8927ffe000 r-xp 00000000 103:03 24538022 build/fastdebug/images/jdk/lib/libjsvml.so
- links to
-
Commit(master) openjdk/jdk/931914af
-
Review(master) openjdk/jdk/22743