On Thu, 12 Nov 2026 03:52:38 GMT, Phil Race <[email protected]> wrote:

>> The native code on macOS which initializes cached JNI refs is not thread 
>> safe.
>> The fix is to use the macOS dispatch_once mechanism as a lock.
>> The fix is essentially all in JNIUtilities.h. There's some refactoring of 
>> the macros in there to make things a bit cleaner
>> and DECLARE_*_ONLY macros are added which the non-local clients now use to 
>> declare variables.
>> 
>> The problem can be demonstrated with multi-threaded initialisation, and 
>> using -Xcheck:jni
>> A case which reproduces "fairly often" has been added as a test.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Phil Race has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8393035

LGTM

-------------

Marked as reviewed by psadhukhan (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/33481#pullrequestreview-5869640467

Reply via email to