RFR: 8029329: tmtools tests fail with NPE (in the tool) when run with G1 and FlightRecorder
stefan.johansson at oracle.com
Tue Dec 3 12:02:43 PST 2013
On 2013-12-03 19:46, Jon Masamitsu wrote:
> On 12/2/13 6:54 AM, Stefan Johansson wrote:
>> Hi again,
>> After discussions with Bengt I realized that the limit I actually
>> want to use is the currently committed number of regions. Here is an
>> updated webrev:
> Why committed instead of allocated? I had thought either would
> be sufficient but that the committed regions that were not
> allocated would be empty (and uninteresting).
Both seems to work equally well, since the regions that are allocated
but not committed will be seen as empty. As I understand it committed
length is the number of regions we currently have committed memory for
and allocated is the length for which we have allocated HeapRegions.
Currently we never de-allocate these and therefor we can have an
allocated length of 128 but currently only have 64 committed. When
requesting an iterator for such a heap I would expect only to iterate
over the regions that are currently in use, not over every region that
has ever been used. That is why I change the code, do you think this
makes sense Jon?
>> On 2013-11-29 14:26, Stefan Johansson wrote:
>>> Please review this fix for:
>>> The iterator used by the SA for walking through G1s heap regions
>>> used the total number of regions as the limit for hasNext. This
>>> caused a NullPointerException when reaching the first unallocated
>>> region. Updated the SA to initialize the iterator with the currently
>>> allocated number of regions as limit instead.
>>> * Tested builds through JPRT
>>> * Ran vm.tmtools.testlist throught Aurora and observed no failures
>>> on the test I expected to pass.
More information about the hotspot-dev