Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8336654

[lworld] Tests depending on sun.awt.AppContext can fail when run with migrated classes

XMLWordPrintable

      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

            prr Philip Race
            fparain Frederic Parain
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: