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

Coleen Phillimore coleen.phillimore at oracle.com
Tue Feb 10 00:41:03 UTC 2015


On 2/9/15, 6:47 PM, Lois Foltan wrote:
> Hi Coleen,
>
> Looks good.  I couldn't view the diffs in nmtDCmd.cpp though.

Thanks Lois.  I made some minor whitespace changes to nmtDCmd.cpp.

Coleen
>
> 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