RFR: 8068451: Kitchensink fails with assert(_size >= sz) failed: Negative size

George Triantafillou george.triantafillou at oracle.com
Tue Feb 10 00:04:47 UTC 2015


Hi Coleen,

Looks good.

The patch shows white space diffs in nmtDCmd.cpp, which will appear in 
the webrev using the "-b" option:

--- old/src/share/vm/services/nmtDCmd.cpp	2015-02-09 11:39:11.493013000 -0500
+++ new/src/share/vm/services/nmtDCmd.cpp	2015-02-09 11:39:11.098774000 -0500
@@ -137,8 +137,8 @@
      }
    } else if (_detail_diff.value()) {
      if (!check_detail_tracking_level(output())) {
-    return;
-  }
+      return;
+    }
      MemBaseline& baseline = MemTracker::get_baseline();
      if (baseline.baseline_type() == MemBaseline::Detail_baselined) {
        report_diff(false, scale_unit);

-George

On 2/9/2015 6:47 PM, Lois Foltan wrote:
> Hi Coleen,
>
> Looks good.  I couldn't view the diffs in nmtDCmd.cpp though.
>
> Thanks,
> Lois
>
> On 2/9/2015 12:38 PM, Coleen Phillimore wrote:
>> Summary: Need ThreadCritical lock around chunk pool cleaning and 
>> copying for snapshot
>>
>> This change restores the TC lock around the code that frees chunks 
>> from the chunk pool.  NMT1 needed ThreadCritical lock to track 
>> malloc'ed memory, but NMT2 doesn't.  This lock is also used to 
>> protect the code that copies the running snapshot into a saved 
>> snapshot.  After the latter snapshot is created, NMT reporting 
>> adjusts the malloc'ed memory for chunks because this memory is 
>> already reported as the various arenas, so we don't want to 
>> double-count it.
>>
>> Tested Kitchensink with NMT for three days with code to sleep during 
>> the snapshot copy.  This code reproduced the assertion 18x in about 8 
>> hrs.  (Took out the sleep).  Also, fixed some whitespace and typos in 
>> the execution path of the bug.  Also ran NMT tests.  Can't add a 
>> test, it's noreg-hard.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8068451/
>> bug link https://bugs.openjdk.java.net/browse/JDK-8068451
>>
>> thanks,
>> Coleen
>>
>>
>>
>



More information about the hotspot-runtime-dev mailing list