RFR(xs) 8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with -XX:NativeMemoryTracking=detail

Zhengyu Gu zgu at redhat.com
Thu May 30 23:25:33 UTC 2019


Hi Calvin,

Thanks for fixing it.

Since VirtualAlloc call has MEM_COMMIT flag set, I think it should be 
tracked as committed memory, e.g.

MemTracker::record_virtual_memory_reserve_and_commit((address)addr, 
bytes, CALLER_PC);

-Zhengyu

On 5/30/19 4:04 PM, Calvin Cheung wrote:
> bug: https://bugs.openjdk.java.net/browse/JDK-8223336
> 
> webrev: http://cr.openjdk.java.net/~ccheung/8223336/webrev.00/
> 
> A simple fix is adding the missing call to 
> MemTracker::record_virtual_memory_reserve() in the Windows version of 
> os::pd_map_memory().
> On platforms other than Windows, the os::pd_map_memory() doesn't call 
> release_memory() and the caller (os::map_memory()) calls 
> MemTracker::record_virtual_memory_reserve() if the returned value from 
> os::pd_map_memory() is non-NULL. That's why this bug reproduces only on 
> Windows.
> 
> Testing: ran SharedArchiveConsistency.java with 
> -XX:NativeMemoryTracking=detail on Windows;
>               ran all runtime/NMT tests on Windows.
> 
> thanks,
> Calvin


More information about the hotspot-runtime-dev mailing list