Review request 8008257 - NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option

Coleen Phillimore coleen.phillimore at oracle.com
Tue Mar 5 11:45:06 PST 2013


Looks good to me.  Nice job digging up how to test on all the platforms.
Coleen

On 03/04/2013 04:37 PM, Zhengyu Gu wrote:
> Updated according to Coleen's comment.
>
> Webrev: http://cr.openjdk.java.net/~zgu/8008257/webrev.01/
>
> Thanks,
>
> -Zhengyu
>
>
> On 3/4/2013 1:07 PM, Coleen Phillimore wrote:
>>
>> Hi Zhengyu,
>>
>> This looks good except one suggestion.  In the lines where CALLER_PC 
>> appears twice, it should be called once, assigned to a variable and 
>> passed to both of the MemTracker functions, since CALLER_PC will walk 
>> the stack and it's not necessary to do it twice in a row.
>>
>> Otherwise, looks good.
>> Coleen
>>
>> On 02/28/2013 10:45 AM, Zhengyu Gu wrote:
>>> NMT did not probably record memory allocations from 
>>> os::reserve_memory_special() path, which is usually related to 
>>> UseLargePages VM option.
>>>
>>> The symptom of this bug is assertion failure in debug/fastdebug 
>>> build or missing Java Heap in NMT output in production build.
>>>
>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8008257
>>> Webrev: http://cr.openjdk.java.net/~zgu/8008257/webrev.00/
>>>
>>> To trigger the failures:
>>>
>>> 1. On Windows, run with -XX:+UseLargePages (with/without 
>>> -XX:+UseLargePagesIndividualAllocation)
>>>
>>> 2. On Linux, run with -XX:+UseLargePages -XX:+UseSHM
>>>
>>> 3. On Solaris, run with -XX:+UseLargePages -XX:+UseISM
>>>
>>> 4. On MacOSX, UseLargePages is disabled.
>>>
>>> Beware that fail to allocate large pages, does not cause JVM to 
>>> fail. Instead, JVM will fallback to use regular pages.
>>>
>>> Tests:
>>>   Many thanks to Christian Törnqvist to find capable hardware and 
>>> figure out how to get large pages to work. We were able to test the 
>>> fix on Solaris sparcv9, Linux x64 and Windows x64.
>>>
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>>
>>>
>>
>



More information about the hotspot-dev mailing list