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

QtWayland Compositor Crash in QWaylandQuickItem::surfaceMappedChanged with destroyed old surface on iMX6

    XMLWordPrintable

Details

    • Linux/Wayland
    • d52e86e6f9bfde48b473dbe9d08e325d45388254 49ea0fc16a499514ebc0c254a983e86bcda88dd6 (qt/qtwayland/5.11.3)

    Description

      Setup:

      • QWaylandQuickItem that gets a Wayland shell surface assigned
      • the client that provides the shell surface is destroyed
      • another shell surface is assigned to the QWaylandQuickItem

      This results in an invalid memory read when accessing the internal oldSurface member of the item. With the attached test applications (both compositor and respective test) I can reproduce this issue on i.MX6 hardware (with Vivante driver as well as Etnaviv). Interestingly, on my development machine with Intel GPU Valgrind does not report any invalid read (meaning, the oldSurface variable gets reset correctly by the driver's behavior).

       

      For details, please see attached backtrace.

      Attachments

        1. backtrace.txt
          14 kB
        2. Compositor.qml
          0.7 kB
        3. Rectangle.qml
          0.1 kB

        Activity

          People

            johanhelsing Johan Helsing
            cordlandwehr-work Andreas Cord-Landwehr
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: