Review request 8008257 - NMT: assert(new_rec->is_allocation_record())	failed when running with shared memory option
    Zhengyu Gu 
    zhengyu.gu at oracle.com
       
    Thu Feb 28 07:45:53 PST 2013
    
    
  
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