RFR: 8263322: Deadlock when calling Application.launch in the FXThread after Platform.startup [v2]

Florian Kirmaier fkirmaier at openjdk.java.net
Wed Mar 10 16:22:31 UTC 2021


On Wed, 10 Mar 2021 13:50:02 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Florian Kirmaier has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - JDK-8263322
>>    Added missing change
>>  - JDK-8263322
>>    Small changes based on code review
>>  - JDK-8263322
>>    Small changes based on code review
>
> tests/system/src/test/java/test/javafx/scene/InitializeJavaFXTest.java line 68:
> 
>> 66:             }
>> 67:         });
>> 68:         Assert.assertTrue("Timeout", latch.await(10, TimeUnit.SECONDS));
> 
> If you use `runAndWait` you won't need this.

Done

> tests/system/src/test/java/test/javafx/scene/InitializeJavaFXTest.java line 77:
> 
>> 75:             Application.launch(TestApp.class);
>> 76:             System.out.println("Finished launch!");
>> 77:             throw new Exception("We excpect an error!");
> 
> Usual practice in this case would be to use the junit `Assert.fail` method (or else `throw new AssertionError(...)`).

done

> tests/system/src/test/java/test/javafx/scene/InitializeJavaFXTest.java line 28:
> 
>> 26:             Application.launch(InitializeApp.class);
>> 27:         }).start();
>> 28:         appLatch.await();
> 
> Presuming you intend to use this (as opposed to removing it), this should be changed to an await with a timeout.

done

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

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


More information about the openjfx-dev mailing list