JDK-8337217 : Port VirtualMemoryTracker to use VMATree
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-07-25
  • Updated: 2025-08-15
  • Resolved: 2025-06-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 26
26 b03Fixed
Related Reports
Causes :  
Causes :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
With JDK-8308501, a tree data structure has been merged which enables tracking of memory regions. This tree can be used in the VirtualMemoryTracker class of NMT to replace the exisiting SortedLinkList implementation, which in turn speeds up the virtual memory tracking.
Comments
[~mbaesken] that looks like it may be JDK-8360048
21-07-2025

We recently saw a crash on Windows x86_64 ; could it be related to this change ? gtest/NMTGtests.java#nmt-detail # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9d9101866, pid=44112, tid=34596 # # JRE version: OpenJDK Runtime Environment (26.0) (build 26-internal-adhoc.sapmachine.jdk) # Java VM: OpenJDK 64-Bit Server VM (26-internal-adhoc.sapmachine.jdk, mixed mode, tiered, compressed oops, compact obj headers, g1 gc, windows-amd64) # Problematic frame: # V [jvm.dll+0xdb1866] VMATree::register_mapping+0x126 Stack: [0x000000850dc00000,0x000000850dd00000], sp=0x000000850dcfe0c0, free space=1016k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [jvm.dll+0xdb1866] VMATree::register_mapping+0x126 (vmatree.cpp:264) V [jvm.dll+0xd9930a] VirtualMemoryTracker::add_reserved_region+0x7a (virtualMemoryTracker.cpp:74) V [jvm.dll+0xd9927e] VirtualMemoryTracker::Instance::add_reserved_region+0x1e (virtualMemoryTracker.cpp:69) V [jvm.dll+0xb3da63] os::reserve_memory+0x93 (os.cpp:1975) V [jvm.dll+0x24e6d7] NMT_location_printing_mmap_1_vm_Test::TestBody+0x17 (test_nmt_locationprinting.cpp:126) V [jvm.dll+0xe1f30f] testing::internal::HandleExceptionsInMethodIfSupported<testing::TestSuite,void>+0x4f (gtest.cc:2670) V [jvm.dll+0xe4aa7d] testing::TestInfo::Run+0x1bd (gtest.cc:2836) V [jvm.dll+0xe4ae66] testing::TestSuite::Run+0x2c6 (gtest.cc:3017) V [jvm.dll+0xe4b85a] testing::internal::UnitTestImpl::RunAllTests+0x5ba (gtest.cc:5921) V [jvm.dll+0xe1f3f3] testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool>+0x53 (gtest.cc:2670) V [jvm.dll+0xe4b15d] testing::UnitTest::Run+0x13d (gtest.cc:5484) V [jvm.dll+0xabb87] runUnitTestsInner+0x2d7 (gtestMain.cpp:292) V [jvm.dll+0xabe1f] runUnitTests+0xff (gtestMain.cpp:373) C [gtestLauncher.exe+0x101c] main+0x1c (gtestLauncher.cpp:40) C [gtestLauncher.exe+0x121c] __scrt_common_main_seh+0x10c (exe_common.inl:288) C [KERNEL32.DLL+0x17ac4] (no source info available) C [ntdll.dll+0x5a8c1] (no source info available) siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000790f00007383
21-07-2025

Changeset: 547ce030 Branch: master Author: Afshin Zafari <azafari@openjdk.org> Date: 2025-06-18 11:37:48 +0000 URL: https://git.openjdk.org/jdk/commit/547ce0301684fdebe95ce2e8e195a019bcefe493
18-06-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/20425 Date: 2024-08-01 15:44:32 +0000
08-11-2024