Summary: | Segfault from weston_compositor_pick_surface during a destroy_resource | ||
---|---|---|---|
Product: | Wayland | Reporter: | U. Artie Eoff <ullysses.a.eoff> |
Component: | weston | Assignee: | Wayland bug list <wayland-bugs> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
weston segfault gdb backtrace
backtrace with weston compiled with ASAN |
Description
U. Artie Eoff
2013-06-20 23:25:22 UTC
Created attachment 81138 [details]
weston segfault gdb backtrace
Created attachment 81374 [details]
backtrace with weston compiled with ASAN
An additionnal backtrace, the test case is the same: open weston-terminal, click on the close button, and go over the dying surface with the mouse pointer.
The backtrace is generated with the RDP compositor and weston compiled with clang+ASAN.
(In reply to comment #2) > Created attachment 81374 [details] > backtrace with weston compiled with ASAN > > An additionnal backtrace, the test case is the same: open weston-terminal, > click on the close button, and go over the dying surface with the mouse > pointer. > The backtrace is generated with the RDP compositor and weston compiled with > clang+ASAN. This backtrace is quite different and isn't related to the issue above. (In reply to comment #3) > (In reply to comment #2) > > Created attachment 81374 [details] > > backtrace with weston compiled with ASAN > > > > An additionnal backtrace, the test case is the same: open weston-terminal, > > click on the close button, and go over the dying surface with the mouse > > pointer. > > The backtrace is generated with the RDP compositor and weston compiled with > > clang+ASAN. > > This backtrace is quite different and isn't related to the issue above. Perhaps this backtrace is more related to https://bugs.freedesktop.org/show_bug.cgi?id=66198? Nonetheless, they are all encountered during similar use-cases. commit 27b1793857953927f842065a57cb5821a86bc671 Author: Rob Bradford <rob@linux.intel.com> Date: Wed Jun 26 18:08:46 2013 +0100 compositor: rebuild the global list if we've removed a surface from it The list of surfaces used by weston_compositor_pick_surface() is maintained in list of surfaces stored on the compositor. This list is generated from the surfaces across all the layers using weston_compositor_build_surface_list. When destroying a surface the surface is "unmapped" with weston_surface_unmap which removes it from the layer list. However since the compositor surface list was only being rebuilt when the output was repainted a call to weston_compositor_pick_surface before the next output repaint would use an outdated surface list containing surfaces that have been partially destroyed. https://bugs.freedesktop.org/show_bug.cgi?id=65986 https://bugs.freedesktop.org/show_bug.cgi?id=66173 https://bugs.freedesktop.org/show_bug.cgi?id=66198 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.