Some AWT and Swing tests can fail when run with migrated classes because sun.awt.AppContext tries to create a soft reference on an instance of a migrated class.
The stack trace when IdentityException is thrown usually looks like that:
java.lang.IdentityException: java.lang.Boolean is not an identity class
at java.base/java.util.Objects.requireIdentity(Objects.java:212)
at java.base/java.lang.ref.Reference.<init>(Reference.java:515)
at java.base/java.lang.ref.Reference.<init>(Reference.java:510)
at java.base/java.lang.ref.SoftReference.<init>(SoftReference.java:92)
at java.desktop/sun.awt.AppContext.getSoftReferenceValue(AppContext.java:886)
at java.desktop/com.apple.laf.AquaUtils$RecyclableSingleton.get(AquaUtils.java:159)
at java.desktop/com.apple.laf.AquaUtils.animationsEnabled(AquaUtils.java:215)
at java.desktop/com.apple.laf.AquaUtils.blinkMenu(AquaUtils.java:220)
at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:151)
at java.desktop/javax.swing.plaf.basic.BasicPopupMenuUI$Actions.doReturn(BasicPopupMenuUI.java:479)
at java.desktop/javax.swing.plaf.basic.BasicPopupMenuUI$Actions.actionPerformed(BasicPopupMenuUI.java:453)
at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2956)
at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:309)
at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:251)
at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3049)
at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3041)
at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2918)
at java.desktop/java.awt.Component.processEvent(Component.java:6398)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1942)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1146)
at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4877)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
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.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
STATUS:Failed.`main' threw exception: java.lang.IdentityException: java.lang.Boolean is not an identity class
Tests impacted by this issue are:
java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java
java/awt/Focus/TestWindowsLFFocus.java
java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java
java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java
java/awt/Mixing/LWPopupMenu.java
java/awt/Modal/BlockedMouseInputTest.java
java/awt/TextArea/Mixing/TextAreaMixing.java
java/awt/event/ComponentEvent/ComponentItemEventTest.java
java/awt/grab/MenuDragEvents/MenuDragEvents.java
javax/swing/JComboBox/4523758/bug4523758.java
javax/swing/JComboBox/6559152/bug6559152.java
javax/swing/JComboBox/8041909/ActionListenerExceptionTest.java
javax/swing/JComboBox/EditableComboBoxPopupPos.java
javax/swing/JInternalFrame/6288609/TestJInternalFrameDispose.java
javax/swing/JInternalFrame/8145060/TestJInternalFrameMinimize.java
javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java
javax/swing/JList/4618767/JListSelectedElementTest.java
javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java
javax/swing/JMenuItem/8158566/CloseOnMouseClickPropertyTest.java
javax/swing/JPopupMenu/4458079/bug4458079.java
javax/swing/JPopupMenu/6515446/bug6515446.java
javax/swing/JPopupMenu/6544309/bug6544309.java
javax/swing/JPopupMenu/JPopupMenuFocusStealTest.java
javax/swing/JRootPane/4670486/bug4670486.java
javax/swing/JTableHeader/JTableHeaderExceptionTest.java
javax/swing/JTree/4618767/JTreeSelectedElementTest.java
javax/swing/KeyboardManager/bug4345798.java
javax/swing/Popup/TaskbarPositionTest.java
javax/swing/plaf/aqua/TestAltUpDownComboBox.java
javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java
javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java
The stack trace when IdentityException is thrown usually looks like that:
java.lang.IdentityException: java.lang.Boolean is not an identity class
at java.base/java.util.Objects.requireIdentity(Objects.java:212)
at java.base/java.lang.ref.Reference.<init>(Reference.java:515)
at java.base/java.lang.ref.Reference.<init>(Reference.java:510)
at java.base/java.lang.ref.SoftReference.<init>(SoftReference.java:92)
at java.desktop/sun.awt.AppContext.getSoftReferenceValue(AppContext.java:886)
at java.desktop/com.apple.laf.AquaUtils$RecyclableSingleton.get(AquaUtils.java:159)
at java.desktop/com.apple.laf.AquaUtils.animationsEnabled(AquaUtils.java:215)
at java.desktop/com.apple.laf.AquaUtils.blinkMenu(AquaUtils.java:220)
at java.desktop/com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:151)
at java.desktop/javax.swing.plaf.basic.BasicPopupMenuUI$Actions.doReturn(BasicPopupMenuUI.java:479)
at java.desktop/javax.swing.plaf.basic.BasicPopupMenuUI$Actions.actionPerformed(BasicPopupMenuUI.java:453)
at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2956)
at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:309)
at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:251)
at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3049)
at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3041)
at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2918)
at java.desktop/java.awt.Component.processEvent(Component.java:6398)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1942)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:883)
at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1146)
at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1020)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:848)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4877)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
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.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
STATUS:Failed.`main' threw exception: java.lang.IdentityException: java.lang.Boolean is not an identity class
Tests impacted by this issue are:
java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java
java/awt/Focus/TestWindowsLFFocus.java
java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java
java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java
java/awt/Mixing/LWPopupMenu.java
java/awt/Modal/BlockedMouseInputTest.java
java/awt/TextArea/Mixing/TextAreaMixing.java
java/awt/event/ComponentEvent/ComponentItemEventTest.java
java/awt/grab/MenuDragEvents/MenuDragEvents.java
javax/swing/JComboBox/4523758/bug4523758.java
javax/swing/JComboBox/6559152/bug6559152.java
javax/swing/JComboBox/8041909/ActionListenerExceptionTest.java
javax/swing/JComboBox/EditableComboBoxPopupPos.java
javax/swing/JInternalFrame/6288609/TestJInternalFrameDispose.java
javax/swing/JInternalFrame/8145060/TestJInternalFrameMinimize.java
javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java
javax/swing/JList/4618767/JListSelectedElementTest.java
javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java
javax/swing/JMenuItem/8158566/CloseOnMouseClickPropertyTest.java
javax/swing/JPopupMenu/4458079/bug4458079.java
javax/swing/JPopupMenu/6515446/bug6515446.java
javax/swing/JPopupMenu/6544309/bug6544309.java
javax/swing/JPopupMenu/JPopupMenuFocusStealTest.java
javax/swing/JRootPane/4670486/bug4670486.java
javax/swing/JTableHeader/JTableHeaderExceptionTest.java
javax/swing/JTree/4618767/JTreeSelectedElementTest.java
javax/swing/KeyboardManager/bug4345798.java
javax/swing/Popup/TaskbarPositionTest.java
javax/swing/plaf/aqua/TestAltUpDownComboBox.java
javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java
javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java
- links to
-
Review(master) openjdk/jdk/22868