On Fri, 23 Aug 2024 09:17:43 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
> The testcase calls Platform.exit before the dialog is made visible but > on macOS, JavaFX takes over the AppKit thread and uses that as the FX > application thread. As part of the FX platform shutdown process, it detaches > that thread from the JVM. This means that the AppKit thread is no longer > available to Java processes > so AWT crashes when it ties to access appkit thread. > Fix is made to check if the thread has been detached for move-resize > notification event before proceeding.. src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m line 640: > 638: if (ret == JNI_EDETACHED) { > 639: return; > 640: } This seems like a completely arbitrary location in the AWT code for a test of something that would seem completely unexpected. Can you PROVE that this is the only place that this will ever be needed ? And if you can't, this isn't the right fix. If you can it needs some comments. Also : does AWT detach the AppKit thread from the VM on shutdown ? IF not why does FX have to do it ? If it does, then could FX also crash if FX is embedded in an AWT app. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20688#discussion_r1729333420