On Mon, 28 Oct 2024 15:01:20 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

> When AWT toolkit is started first for it to own the "NSApplication" and then 
> FX toolkit is started and shutdown by calling `Platform.exit` and then Swing 
> Dialog is tried to be created, then it is seen that the application crashes 
> as the AWT dialog tries to create the underlying Window as a child window of 
> the FX window (as can be seen 
> [here](https://github.com/openjdk/jdk/blob/9f6211bcf1b46e4bfba2d128d9eb8457bc0cde51/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java#L738-L743)
>  )
> Since the underlying window handle is already invalid, it crashes.
> 
> The fix is made to register shutdown hook when FX toolkit is shutting down so 
> as to notify JLightweightFrame about the invalid window handle when FX 
> toolkit is shutdown and SwingNode disposer is called.
> 
> The regression test is modified to override tearDownOnce as the test method 
> shuts down the JavaFX runtime using `Platform.exit`, then the `teardownOnce 
> `method in the superclass  calls `Util.shutdown`, which times out waiting for 
> a runnable to run, which it never will since the toolkit is already shutdown

Btw, I note that the Linux failure is due to a GHA infrastructure problem, 
tracked on our end by 
[JDK-8342917](https://bugs.openjdk.org/browse/JDK-8342917), so can be ignored.

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

PR Comment: https://git.openjdk.org/jfx/pull/1614#issuecomment-2441963455

Reply via email to