@edvin speaking of javafx, i've seen two "works as designed instances" that could explain this in the ticket. the first was my response: ui (succeeded) is NOT guaranteed to be called in the failure case. The second is stuffing Platform.runLater() calls into the runAsync (call) method and expecting them to be called before call() returns to ui(). Specifically, doing some in-process UI updates to be followed by a final UI update in the ui block