There are potential to cause deadlock between client JVM and server JVM when messages exchange are implemented as blocking code.
The JavaFX application thread is the native message dispatching thread, when calling LiveConnect to browser VM, the thread is blocked waiting for response.
In case the browser action is depending on JavaFX to handle some native message, such as browser asking for focus, as the message dispatch is stopped, this cause a dead-lock.
A test case can be found at
http://javaweb.us.oracle.com/~hj156752/testcases/rt15039/FXLiveConnectCallTest.html
Originally reported at
http://javafx-jira.kenai.com/browse/RT-15039
|