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