On Tue, 9 Nov 2021 19:45:07 GMT, Phil Race <p...@openjdk.org> wrote: >> src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsEnv.cpp line >> 129: >> >>> 127: >>> 128: JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); >>> 129: JNU_CallStaticMethodByName(env, &ignoreException, >> >> As far as understand from the previous fix the "ignoreException" parameter >> does not suppress the currently raised exception, it just suppresses the >> warning in the XCheck:jni. So it will be good to propagate an exception to >> the user if this code is executed on the "java" thread, and log it by the >> trace macro if it is executed on a toolkit thread. > > Yeah this looks like the wrong fix. > -Xcheck:jni only warns like this if there are actual exceptions, doesn't it ? > So if we had one, where was it ? > > Note that Windows Server 2019 is a staple of the CI testing at Oracle and the > test hasn't failed in the > 2 months since it was integrated, so I'm > wondering why it fails in your case ? > Was this a debug build perhaps ?
I think Xcheck:jni raises a warning when two JNI calls are made in a row w/o calling exception check in between. So it is not necessary to have an actual exception to produce a warning. Probably it is reproduced there, because that system is "true" headless, and the execution code path is just different, or something like that, need to check what is the next/prev JNI call. Or maybe this method really throw an exception, need some more detail. ------------- PR: https://git.openjdk.java.net/jdk/pull/6306