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

Crash when hiding windows on Wayland with Vulkan

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.7, 6.8, 6.9
    • GUI: Vulkan, QPA: Wayland
    • None
    • NixOS (commit 25865a40d14b3f9cf19f19b924e2ab4069b09588)
      Hyprland (commit 5e7925eaeba474cfc283e26b7aa3426ec97424f7, ~0.40ish)
    • Linux/Wayland
    • fa967a897 (dev)

    Description

      When hiding a window by setting `visible = false` or deleting it with a loader, the wayland connection dies with the message "Tried to add event to destroyed queue" with a related warning slightly before.

      This is reproducible by running the following qml snippet:

      $ QSG_RHI_BACKEND=vulkan WAYLAND_DEBUG=1 qml test.qml
      import QtQuick
      import QtQuick.Window
      Window {
          id: window
          visible: true
          Timer {
              running: true
              interval: 500
              onTriggered: window.visible = false
          }
      }
      

      The full log from the snippet above is attached.
       

      Note that this does not just apply to xdg_shell windows, but custom shell integrations as well, though interestingly does not appear to apply to xdg_popups.

      Attachments

        1. backtrace.txt
          1 kB
          outfoxxed -
        2. rhiwindow-crash.txt
          6 kB
          Liang Qi
        3. vulkan.log
          86 kB
          outfoxxed -
        4. vulkaninfo.txt
          197 kB
          outfoxxed -

        Issue Links

          For Gerrit Dashboard: QTBUG-125592
          # Subject Branch Project Status CR V

          Activity

            People

              davidedmundson David Edmundson
              outfoxxed outfoxxed -
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes