Review Request: 8011161 NMT: Memory leak when encountering out of memory error while initializing memory snapshot

Daniel D. Daugherty daniel.daugherty at oracle.com
Fri Apr 5 08:44:16 PDT 2013


On 4/5/13 8:05 AM, Zhengyu Gu wrote:
> Updated: http://cr.openjdk.java.net/~zgu/8011161/webrev.03/ 
> <http://cr.openjdk.java.net/%7Ezgu/8011161/webrev.03/>

src/share/vm/services/memTracker.cpp
     No comments.

Thumbs up!

Dan


>
> Thanks,
>
> -Zhengyu
>
> On 4/4/2013 4:35 PM, Zhengyu Gu wrote:
>> Dan,
>>
>> Thanks for the suggestion. I will post updated webrev once java.net 
>> is back.
>>
>> -Zhengyu
>>
>> On 4/4/2013 3:14 PM, Daniel D. Daugherty wrote:
>>> On 4/4/13 11:42 AM, Zhengyu Gu wrote:
>>>> Updated webrev: http://cr.openjdk.java.net/~zgu/8011161/webrev.01/ 
>>>> <http://cr.openjdk.java.net/%7Ezgu/8011161/webrev.01/>
>>>
>>> src/share/vm/services/memTracker.cpp
>>>   Please consider this version:
>>>
>>>   _snapshot = new (std::nothrow)MemSnapshot();
>>>   if (_snapshot != NULL) {
>>>     if (!_snapshot->out_of_memory() && start_worker()) {
>>>       _state = NMT_started;
>>>       NMT_track_callsite = (_tracking_level == NMT_detail && 
>>> can_walk_stack());
>>>       return;
>>>     }
>>>
>>>     delete _snapshot;
>>>     _snapshot = NULL;
>>>   }
>>>
>>>   // fail to start native memory tracking, shut it down
>>>   shutdown(NMT_initialization);
>>>
>>>
>>> Dan
>>>
>>>
>>>>
>>>> Thanks,
>>>>
>>>> -Zhengyu
>>>>
>>>>
>>>>
>>>> On 4/3/2013 4:35 PM, Calvin Cheung wrote:
>>>>> Not directly related to this fix, I'm seeing 
>>>>> shutdown(NMT_initialization) can be called twice if start_worker() 
>>>>> has an error before returning false.
>>>>> 552 shutdown(NMT_initialization);
>>>>>
>>>>> again in MemTracker::start():
>>>>> 144 shutdown(NMT_initialization);
>>>>>
>>>>> Perhaps the one at line 552 isn't necessary?
>>>>>
>>>>> Calvin
>>>>>
>>>>> On 4/3/2013 11:01 AM, Zhengyu Gu wrote:
>>>>>> Resend. Could anyone review it?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> -Zhengyu
>>>>>>
>>>>>> On 4/2/2013 10:09 AM, Zhengyu Gu wrote:
>>>>>>> Fix a memory leak when initializing memory snapshot due to out 
>>>>>>> of memory.
>>>>>>> In normal case, memory snapshot is released by worker thread. 
>>>>>>> But this case, the worker thread is never started.
>>>>>>>
>>>>>>>
>>>>>>> bug: http://bugs.sun.com/view_bug.do?bug_id=8011161 
>>>>>>> <http://bugs.sun.com/view_bug.do?bug_id=8011161>
>>>>>>> webrev: http://cr.openjdk.java.net/~zgu/8011161/webrev.00/ 
>>>>>>> <http://cr.openjdk.java.net/%7Ezgu/8011161/webrev.00/>
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> -Zhengyu
>>>>>>
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130405/8f5da63b/attachment.html 


More information about the hotspot-runtime-dev mailing list