On Mon, 29 Jan 2024 19:00:46 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> Nir Lisker has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Update tests
>
> tests/system/src/test/java/test/com/sun/javafx/animation/SynchronizationTest.java
>  line 87:
> 
>> 85:         for (int i = 0; i < 10; i++) {
>> 86:             executor.submit(runnable);
>> 87:         }
> 
> I did a quick prototype of the idea I mentioned in my last comment, and it 
> looks like it works:
> 
> 
>         Runnable wrappedRunnable = () -> {
>             try {
>                 runnable.run();
>             } catch (Throwable e) {
>                 thread = Thread.currentThread();
>                 throwable = e;
>                 failed.set(true);
>                 waiter.countDown();
>             }
>         };
> 
>         for (int i = 0; i < 10; i++) {
>             executor.submit(wrappedRunnable);
>         }
> 
> 
> This obviates the need for the `registerExceptionHandler` calls in the two 
> tests themselves (this one in _this_ method is still needed).

I don't think the executor service catches the exception because if it did then 
the `AnimationTimer` test would also always pass. I do get the AIOOB exceptions 
from the background thread caught in the handler (which fails the test). This 
test is rather stable for me. The `Animation` one is more problematic, 
sometimes failing and sometimes not when it should fail.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1352#discussion_r1470247519

Reply via email to