RFR: 8316931: [macos14] Test "java/awt/TrayIcon/ShowAfterDisposeTest/ShowAfterDisposeTest.html" throws and exception on Mac OS 14(x64, aarch64) [v4]

Sergey Bylokhov serb at openjdk.org
Mon Jan 15 11:30:20 UTC 2024


On Fri, 12 Jan 2024 22:18:04 GMT, Alisen Chung <achung at openjdk.org> wrote:

>> SunToolkit.java is trying to post an event on the TrayIcon appContext, but the TrayIcon was already removed by the test, causing an error. The fix is to make SunToolkit skip posting the event if appContext is null. The test is also updated to remove applet usage and use PassFailJFrame instead.
>
> Alisen Chung has updated the pull request incrementally with one additional commit since the last revision:
> 
>   used jtreg.SkippedException, updated copyright years

src/java.desktop/share/classes/sun/awt/SunToolkit.java line 450:

> 448:         if (appContext == null) {
> 449:             return;
> 450:         }

I think we should check why the appcontext is null here, the event comes from the native peer, so when the event was created the peer was there, if the peer exists the target should have an appconext as well.

Maybe the problem is that we try to jump on EDT twice? First time from CTrayIcon.postEvent-> SunToolkit.executeOnEventHandlerThread and then one more time via SunToolkit.postEvent().

Can deletion of the executeOnEventHandlerThread solve the problem?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17329#discussion_r1452259491


More information about the client-libs-dev mailing list