United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7199092 NMT: NMT needs to deal overlapped virtual memory ranges
JDK-7199092 : NMT: NMT needs to deal overlapped virtual memory ranges

Details
Type:
Bug
Submit Date:
2012-09-18
Status:
Closed
Updated Date:
2013-07-02
Project Name:
JDK
Resolved Date:
2012-10-20
Component:
hotspot
OS:
generic
Sub-Component:
runtime
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs25
Fixed Versions:
hs25 (b07)

Related Reports
Backport:
Backport:
Backport:
Backport:
Duplicate:
Duplicate:
Relates:
Relates:
Relates:

Sub Tasks

Description
After NPG changes, NMT sees different memory usage patterns, which it cannot deal with correctly. For example, it reserves a bigger range, then it re-reserve a smaller range within the bigger range. NMT does not expect and cannot deal with overlapped reserved range.

There is an example:

[fffffd7ffb800000 - fffffd7ffbe00000] [9] seq = 337     <== reserve a bigger range
[fffffd7ffb800000 - fffffd7ffbe00000] [9] seq = 338     <== dup record
[fffffd7ffb800000 - fffffd7ffb800000] [10b] seq = 339   <== mtClass 
[fffffd7ffb800000 - fffffd7ffba00000] [9] seq = 340     <== re-reserve a smaller range
[fffffd7ffb800000 - fffffd7ffba00000] [a] seq = 341     <== commit
[fffffd7ffb800000 - fffffd7ffba00000] [a] seq = 342     <== dup record

                                    

Comments
EVALUATION

PermGen removal project introduced different virtual memory usage patterns vs. earlier version. As result, NMT has to track individual committed memory region, vs. track a reserved region as whole and only keep committed size within the region.

The improved implementation, now, can generate virtual memory map.
                                     
2012-09-26
URL:   http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/716c64bda5ba
User:  zgu
Date:  2012-10-20 05:39:47 +0000

                                     
2012-10-20
URL:   http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/716c64bda5ba
User:  amurillo
Date:  2012-10-26 23:51:00 +0000

                                     
2012-10-26
Hard to create a regression test
                                     
2013-07-02



Hardware and Software, Engineered to Work Together