[jdk11u-dev] RFR: 8253980: javax/swing/plaf/synth/7158712/bug7158712.java fails on windows

Matthias Baesken mbaesken at openjdk.org
Thu May 2 13:51:07 UTC 2024


On Fri, 26 Apr 2024 21:37:45 GMT, Amos Shi <ashi at openjdk.org> wrote:

>> Backport of [JDK-8253980](https://bugs.openjdk.org/browse/JDK-8253980)
>> - This PR contains two commits
>> - Commit 1: is a de facto  clean back port of original commit
>>   - `bug7158712.java` is a **clean** `git apply`
>>   - `ProblemList.txt` is a manual change based on original commit, can be `considered as clean`
>> - Commit 2
>>   - A line `popup.show()` has been added to avoid the test case failure with message: 
>>     - **IllegalComponentStateException: component must be showing on the screen to determine its location**
>> 
>> Testing
>> - Local: Test passed
>>   - `bug7158712.java`: Test results: passed: 1
>> - Pipeline: All checks have passed
>> - Testing Machine: SAP nightlies `SKIPPED` on `2024-04-28`
>>   - Automated jtreg test: jtreg_jdk_tier4
>>   - `javax/swing/plaf/synth/7158712/bug7158712.java`: `SKIPPED` [Filter: jtregExcludeListFilter - Test has been excluded by an exclude list] GitHub 📊 - [0 msec]
>
> test/jdk/javax/swing/plaf/synth/7158712/bug7158712.java line 110:
> 
>> 108:                 BasicComboPopup popup = (BasicComboPopup) comboBox.getAccessibleContext().getAccessibleChild(0);
>> 109:                 popup.show();
>> 110: 
> 
> Adding this line to fix the following test case failure:
> - **IllegalComponentStateException: component must be showing on the screen to determine its location**
> 
> 
> java.lang.reflect.InvocationTargetException
> 	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1367)
> 	at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1342)
> 	at java.desktop/javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1480)
> 	at bug7158712.main(bug7158712.java:105)
> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> 	at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
> 	at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
> 	at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2101)
> 	at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2075)
> 	at bug7158712$3.run(bug7158712.java:110)
> 	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
> 	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
> 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
> 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
> 	at java.base/java.security.AccessController.doPrivileged(Native Method)
> 	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
> 	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
> 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
> 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
> 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
> 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
> 	at java.desktop/java.awt.EventDispatchThre...

Why is the `popup.show()`  not needed in higher releases ? Is there maybe some other backport missing?

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

PR Review Comment: https://git.openjdk.org/jdk11u-dev/pull/2688#discussion_r1582620085


More information about the jdk-updates-dev mailing list