Weston crashes when it cannot find the touch device output. See attached gdb_backtrace for more info. There are different ways to reproduce this bug. 1st method to reproduce: ====================== 1. Identify two displays as display1 and display2 2. Display2 is a touch device 3. Disconnect display2 monitor (touch is still working) 4. Execute weston-launch 5. Touch display2 screen. Observe weston crash. 2nd method to reproduce: ====================== 1. Create a udev mapping rule in /etc/udev/rules.d/weston.rules with wrong display name. Example: ENV{ID_VENDER_ID}=="2149", ENV{ID_MODEL_ID}=="2122", ENV{WL_OUTPUT}="HDMI3" (Here instead of VGA1, I gave incorrect display name) 2. Unplug and Replug USB touch device to apply new udev rules. 3. Start Weston 4. Touch the display. Observe weston crash. Software Stack ============== Kernel: 3.13.6-200.fc20.x86_64 Systemd: 212 (rawhide) wayland (HEAD) 1.4.91-0-g5e2cfd2 drm (HEAD) libdrm-2.4.52-0-g46d451c mesa (HEAD) mesa-10.1-0-g4a86465 libva (HEAD) libva-1.2.1-0-g88ed1eb intel-driver (HEAD) 1.2.2-0-g121e70d cairo (HEAD) heads/1.12-0-g59e2a93 libinput (HEAD) remotes/origin/HEAD-0-gc5c503c weston (HEAD) 1.4.91-0-g79d5a6e
Created attachment 97237 [details] gdb_backtrace
sent a patch to the list: http://lists.freedesktop.org/archives/wayland-devel/2014-April/014204.html
(In reply to comment #2) > sent a patch to the list: > > http://lists.freedesktop.org/archives/wayland-devel/2014-April/014204.html Revised patch: http://lists.freedesktop.org/archives/wayland-devel/2014-April/014282.html
commit 161c6c56944cdfbda9a1af7a8a2c34e8f7d41dae Author: U. Artie Eoff <ullysses.a.eoff@intel.com> Date: Thu Apr 17 07:53:25 2014 -0700 input: fix input device map to output if it doesn't exist. If an input device wants to map to an output that does not exist, then just map it to the first output. Also, if a device is mapped to an output that gets unplugged then it gets default mapped to the first output in the output destroy listener. However, the original output destroy listener needs to be removed before adding the new listener for the first output, otherwise the list gets corrupted. Later if the other output is plugged back in, we remap the device to it. In that case, we should remove the destroy listener for the first output. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77341 Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
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.