Round 2 RFR (S) 6424123: JVM crashes on failed 'strdup' call.

David Holmes david.holmes at oracle.com
Sun Jun 8 09:03:09 UTC 2014


Hi Zhengyu,

Still a bit perplexed by the aim here. Why replace non-null checked 
strdup calls with non-null os::strdup? If the issue is that the result 
of strdup must be checked then it must be checked. Why add 
DuplicateString instead of changing what os::strdup does?

Thanks,
David

On 7/06/2014 3:05 AM, Zhengyu Gu wrote:
> Updated webrev introduces a new DuplicateString() function, that handles
> OOM, similar to AllocateHeap(), and replaces the call sites that do not
> check NULL pointer with this DuplicateString().
>
> http://cr.openjdk.java.net/~zgu/6424123/webrev.01/
>
> Thanks,
>
> -Zhengyu
>
>
>
> On 6/4/2014 4:32 PM, Zhengyu Gu wrote:
>> JVM should avoid C library's strdup() and use os::strdup() instead.
>> os::strdup() handles OOM, so can avoid JVM crash.
>>
>> Also, made limited scope of code cleanup, which makes memory ownership
>> more explicit, so they can be claimed by object's destructors.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-6424123
>> Webrev: http://cr.openjdk.java.net/~zgu/6424123/webrev.00/
>>
>> Tests:
>>   - JPRT
>>   - vm.quick.testlist on Linux x64.
>>
>> Thanks,
>>
>> -Zhengyu
>


More information about the hotspot-runtime-dev mailing list