RFR(xs) 8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with -XX:NativeMemoryTracking=detail
Calvin Cheung
calvin.cheung at oracle.com
Thu May 30 23:52:04 UTC 2019
Hi Zhengyu,
Thanks for your review.
Here's an updated webrev with your suggested change:
http://cr.openjdk.java.net/~ccheung/8223336/webrev.02/
thanks,
Calvin
On 5/30/19, 4:25 PM, Zhengyu Gu wrote:
> 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