Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-89162

Qt makes request for Wayland output that has already been removed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P1: Critical
    • None
    • 5.15.2
    • QPA: Wayland
    • None
    • Linux/Wayland

    Description

      This issue was originally raised for the Wayfire wayland compositor here: https://github.com/WayfireWM/wayfire/issues/922

      What is happening is:

      1. A output is being disconnected
      2. The Qt app on this output is moved to another, active output
      3. The Qt app is informed the output has been removed
      4. The Qt app tries using the output after it's been told the output has been removed
      5. The Qt app freezes, uses 100% of a single CPU core for a while (20-60 seconds) and then crashes

      Example terminal output running dolphin while disconnecting then reconnecting the output it's on:

       $ dolphin
      qt.qpa.wayland: Unexpected wl_keyboard.enter event. Keyboard already has focus
      qt.qpa.wayland: The compositor sent a wl_pointer.enter event before sending a leave event first, this is not allowed by the wayland protocol attempting to work around it by invalidating the current focus
      qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
      The Wayland connection broke. Did the Wayland compositor die?
      Aborted (core dumped)

      Attached is the log from doing the same thing but with WAYLAND_DEBUG=1

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qt.team.graphics.and.multimedia Qt Graphics Team
              jordanleppert Jordan Leppert
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes