RFR [8022584] Memory leak in some NetworkInterface methods

David Holmes david.holmes at oracle.com
Wed Aug 7 18:35:16 PDT 2013


On 8/08/2013 11:20 AM, Ivan Gerasimov wrote:
> Thanks Alan!
>
> I've checked that and it turns out that GetStringUTFChars cannot return
> NULL.
> For allocation of the result string it calls AllocateHeap() with the
> default EXIT_OOM fail strategy.
> Thus, in case of being unable to allocate memory it simply stops VM.

Ouch! That is a hotspot bug. GetStringUTFChars is supposed to throw 
OutOfMemoryError if it has memory issues, not abort the VM!

I recommend that you check for NULL and/or a pending exception.

David

> Sincerely yours,
> Ivan
>
> On 08.08.2013 5:05, Alan Bateman wrote:
>> (cc'ing net-dev).
>>
>> The change looks okay to me. One suggestion (while you are there) is
>> to check the return from  GetStringUTFChars so that the name returns
>> when it fails with NULL.
>>
>> -Alan.
>>
>> On 07/08/2013 17:46, Ivan Gerasimov wrote:
>>> Hello everybody!
>>>
>>> Some methods of NetworkInterface class were reported to leak memory.
>>> http://bugs.sun.com/view_bug.do?bug_id=JDK-8022584 (not yet available.)
>>>
>>> Examples are isUp() and isLoopback().
>>>
>>> Affected versions of jdk are 6, 7 and 8
>>>
>>> Would you please review a simple fix that removes the unnecessary
>>> allocation?
>>> http://cr.openjdk.java.net/~igerasim/8022584/0/webrev/
>>>
>>> Sincerely yours,
>>> Ivan
>>
>>
>>
>



More information about the net-dev mailing list