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