Summary: | SIGSEGV in Weston run_touch_binding | ||
---|---|---|---|
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 log
gdb backtrace udev rules |
Description
U. Artie Eoff
2013-12-18 18:43:52 UTC
Created attachment 90941 [details]
weston log
Created attachment 90942 [details]
gdb backtrace
Created attachment 90943 [details]
udev rules
I was able to reproduce this with a multitouch touch device too: $ lsusb Bus 002 Device 005: ID 2149:2122 Advanced Silicon S.A. CoolTouch(TM) System Those touch coordinates in the backtrace look really out of place, that may be a different problem in itself. But there are a few corner cases where we can legitimately fail to touch a surface, so we need to check for NULL in touch_to_activate_binding(). commit 0ed6750541eac94af7083fabe5911c20e6ca31f9 Author: Kristian Høgsberg <krh@bitplanet.net> Date: Thu Jan 2 23:00:11 2014 -0800 shell: Only assign focus on touch if there is a touch focus surface Similar to 7c4f6cc145daf66cd9624f1e70dd5278241f5858, if we don't have a background image from the desktop-shell client or the touch point for some other reason doesn't hit a surface we trigger a segfault as we try to deref the seat->touch->focus NULL pointer. For touch, another problem could be fudgey calibration that ends up giving touch coordinates outside the output space. https://bugs.freedesktop.org/show_bug.cgi?id=72839 |
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.