RFR [8022584] Memory leak in some NetworkInterface methods
David Holmes
david.holmes at oracle.com
Thu Aug 8 05:01:25 UTC 2013
Ivan,
On 8/08/2013 2:05 PM, Ivan Gerasimov wrote:
> David, Alan,
>
> I added checking for NULL results and throwing OOMException if necessary.
You don't need to throw it yourself:
JNU_ThrowOutOfMemoryError(env, NULL);
Assuming a correct VM implementation if NULL is returned then an OOME
should already be pending and will be thrown as soon as your native code
returns to Java.
Thanks,
David
> I've also added some spaces along the code to improve indentation.
>
> Would you please review the updated webrev?
> http://washi.ru.oracle.com/~igerasim/webrevs/8022584/1/webrev/
>
> Sincerely yours,
> Ivan
>
>
> On 08.08.2013 5:35, David Holmes wrote:
>> 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 core-libs-dev
mailing list