RFR: 8221261: deadlock of CInputMethod.characterIndexForPoint and webkit.InputMethodClientImpl.getLocationOffset
Kevin Rushforth
kcr at openjdk.org
Fri Dec 22 15:10:45 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`.
@parttimenerd I can test this with JavaFX on macOS, but you need to provide a better evaluation that explains what the root cause of the deadlock is and why this is the right way to fix it. Saying that the deadlock "can apparently be prevented by ..." is not an evaluation. The change you propose is in a fundamental method in AWT, so you will also need to show that this will not cause any regressions.
Reviewers: @kevinrushforth @prrace @prsadhuk
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17184#issuecomment-1867793976
More information about the client-libs-dev
mailing list