RFR(S): JDK-8030708: warnings from b119 for jdk/src/share/back: JNI exception pending

Dmitry Samersoff dmitry.samersoff at oracle.com
Wed Oct 15 14:33:52 UTC 2014


David,

Sorry, copied wrong function!

I mean this call

weakRef = JNI_FUNC_PTR(env,NewWeakGlobalRef)(env, ref);

that can post  OutOfMemoryError

commonRef_refToID() ->

createNode(JNIEnv *env, jobject ref) ->

weakRef = JNI_FUNC_PTR(env,NewWeakGlobalRef)(env, ref);

-Dmitry

On 2014-10-15 16:21, David Holmes wrote:
> On 15/10/2014 8:39 PM, Dmitry Samersoff wrote:
>> On 2014-10-15 14:27, David Holmes wrote:
>>> On 15/10/2014 8:08 PM, Dmitry Samersoff wrote:
>>>> Please review the fix:
>>>>
>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8030708/webrev.01/
>>>>
>>>> Added missed exception checks.
>>>
>>> src/jdk.jdwp.agent/share/native/libjdwp/outStream.c
>>>
>>> What is potentially posting the exception?
>>
>> JvmtiEnv::GetTag(jobject object, jlong* tag_ptr) called from
>> commonRef_refToID()
> 
> You mean this call:
> 
>    error = JVMTI_FUNC_PTR(gdata->jvmti,GetTag)(gdata->jvmti, ref, &tag);

x
> 
> in findNodeByRef which is called by commonRef_refToID?  JVM TI doesn't
> post exceptions.
> 
> "JVM TI functions never throw exceptions; error conditions are
> communicated via the function return value. Any existing exception state
> is preserved across a call to a JVM TI function."
> 
> http://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html
> 
> David
> 
>> -Dmitry
>>
>>


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the serviceability-dev mailing list