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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.11.2
    • Fix Version/s: 5.11.3, 5.12.0 Beta 1
    • Component/s: QPA: Wayland
    • Labels:
      None
    • Platform/s:
      Linux/Wayland
    • Commits:
      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
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There is 1 open Gerrit change