RFR: 8221261: deadlock of CInputMethod.characterIndexForPoint and webkit.InputMethodClientImpl.getLocationOffset

Kevin Rushforth kcr at openjdk.org
Fri Dec 22 16:26:38 UTC 2023


On Fri, 22 Dec 2023 11:27:00 GMT, Johannes Bechberger <jbechberger at openjdk.org> wrote:

> A dead-lock is caused by the interaction of MacOS, the AWTEventQueue and JavaFX when the users pressed the Caps Lock key while the AWTEventQueue is processing another event (more on this in the issue). The bug depends on the specific timing of the event sending and can apparently be prevented by finishing all incoming OS events directly while the LWCToolkit.invokeAndWait method is executed.
> 
> This fix is tested and fixes the issue.
> 
> I attached a small
> [reproducer](https://github.com/openjdk/jdk/files/13751865/Archive.zip), just run it with `mvn install package javafx:run`.

Btw, using a simple Swing app with a WebView inside a JFXPanel (similar to the test program referred in the Description), I can consistently reproduce this deadlock on my Mac M1 running macOS 14.1.2. I'll try this on macOS 13.x as well.

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

PR Comment: https://git.openjdk.org/jdk/pull/17184#issuecomment-1867867059


More information about the client-libs-dev mailing list