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

[macos] Appkit thread slows when any Window Manager active

    Details

    • Subcomponent:
    • Introduced In Build:
      b32
    • Introduced In Version:
    • Resolved In Build:
      b19
    • CPU:
      x86_64
    • OS:
      os_x

      Backports

        Description

        ADDITIONAL SYSTEM INFORMATION :
        java version "10.0.1" 2018-04-17
        Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
        Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
        macOS Sierra 10.12.6

        Issue appears in other tested versions osx 10.9.5+
        Also occurs in JDK 8u171

        A DESCRIPTION OF THE PROBLEM :
        If you have nested panels in a Java application and a Window Manager app active (Magnet, Moom, SnapIt) any click on/focus event from the lower components causes the Java application to hang

        REGRESSION : Last worked in version 10.0.1

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Install and enable a Window manager app, SnapIt is free
        Run the code below

        Note: if using JDK 8 increase the panel depth to 20 to see full hang without recovery, depth of 10 will recover after a while

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        Can click on the component without application hang
        ACTUAL -
        Application hangs

        ---------- BEGIN SOURCE ----------
        import javax.swing.*;
        import java.awt.*;

        public class Main {

            public static void main(String[] args) {
                final JFrame frame = new JFrame();
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(new Dimension(400,400));

                final Container content = frame.getContentPane();
                content.setLayout(new BorderLayout());
                
                Container lastPanel = content;
                for (int i = 0; i < 10; i++) {
                    final JPanel p = new JPanel();
                    lastPanel.add(p);
                    lastPanel = p;
                }
                lastPanel.setBackground(Color.blue);
         
                frame.setVisible(true);
            }
        }
        ---------- END SOURCE ----------

        CUSTOMER SUBMITTED WORKAROUND :
        Disable the Windows Manager app in the System Accessibility options

        FREQUENCY : always


          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  serb Sergey Bylokhov
                  Reporter:
                  webbuggrp Webbug Group
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: