RFR: 8273485: Deadlock when also using Swing and exiting Fullscreen on Mac

Kevin Rushforth kcr at openjdk.java.net
Wed Sep 8 12:17:08 UTC 2021

On Wed, 8 Sep 2021 10:37:40 GMT, Florian Kirmaier <fkirmaier at openjdk.org> wrote:

> When using Swing it's possible to generate a Deadlock.
>  It's related to the nested eventloop started in enterFullScreenExitingLoop - and the RenderLock aquired when using setView in Scene.
>  Sample Programm and Threaddump are added to the ticket.
> Removing the nested loop fixes the Problem. 
> I hope this doesn't have any side effect - so far i don't know of any.

I am almost certain that this proposed fix will cause problems. At the very least we will now have mismatched enter / exit nested loop calls. The nested loop for full screen on Mac was done for a reason, so you will need to track down what that reason is and either verify that it is no longer needed or else solve that some other way.

Also, you don't explain why removing the nested event loop is the right fix for the deadlock.

Finally, once you address the above two points, you will need to turn the test program attached to the JBS bug into an automated test.


Changes requested by kcr (Lead).

PR: https://git.openjdk.java.net/jfx/pull/622

More information about the openjfx-dev mailing list