- 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.