RFR: 8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations [v3]
Christoph Langer
clanger at openjdk.org
Wed Jan 31 06:15:04 UTC 2024
On Tue, 30 Jan 2024 14:13:07 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:
>> Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>>
>> - Move Exception Check to the right place
>> - Merge branch 'master' into JDK-8323664
>> - Changes to assertion function and test as discussed
>> - Revert "JDK-8323664"
>>
>> This reverts commit 32128744252d75104e0d19f5eb701ffdc7b3d417.
>> - Merge branch 'master' into JDK-8323664
>> - JDK-8323664
>
> src/java.desktop/windows/native/libawt/windows/awt_Debug.cpp line 158:
>
>> 156: // be on the safe side and avoid JNI warnings by calling ExceptionCheck
>> 157: // an accumulated exception is not cleared
>> 158: env->ExceptionCheck();
>
> So, this doesn't actually do anything but avoids JNI warnings, does it?
>
> `AwtDebugSupport::AssertCallback` can be called *at any time*, hence calling JNI functions here is unsafe. Adding `env->ExceptionCheck()` doesn't change anything.
Yes. However, it's "only" in the assertion callback that only exists in debug VMs. And an original exception isn't lost.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17404#discussion_r1472348927
More information about the client-libs-dev
mailing list