Weston crashes on switching to different workspace when output seat is specified in weston.ini. Weston received signal SIGSEGV, Segmentation fault. See attached gdb_backtrace. Steps to Reproduce: 1. Activate workspaces by un-commenting num-workspaces=6 in weston.ini 2. Configure Weston.ini with output seat=back0 Example: Output name=HDMI2 seat=back0 3. Launch Weston 4. Switch to different workspace via <mod> + <f2> 5. Notice weston crash with segmentation fault. Software stack: wayland (HEAD) 1.4.92-0-g4a4523f drm (HEAD) libdrm-2.4.52-0-g46d451c mesa (HEAD) remotes/origin/10.1-0-g340ebdb 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-g97af5c3 weston (HEAD) 1.4.92-0-gd7d71e8
Created attachment 98576 [details] seat_gdbbacktrace
This is another way to reproduce SIGSEGV in weston_keyboard_set_focus. When output seat is specified in weston.ini, unlock screen causes weston to crash with segmentation fault in weston_keyboard_set_focus. Steps: ====== 1. Describe output seat in Weston.ini Example: Output name=HDMI2 seat=back0 2. Launch Weston: weston-launch -- –i5 3. Allow weston to lock 4. Unlock screen. Observe Weston crash with Segmentation fault. See attached unlock_gdb_backtrace.
Created attachment 98700 [details] unlock_gdb_backtrace
I sent a patch to the mailing list to fix this bug: http://lists.freedesktop.org/archives/wayland-devel/2014-May/014659.html
commit 6e56ab41d99197ca2b562b5bc1315800065763ae Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Date: Wed May 7 11:57:28 2014 +0300 shell: Fix crash when restoring focus state during workspace change The check to avoid calling weston_keyboard_set_focus() for a seat that didn't have a keyboard in restore_focus_state() was cheking the wrong seat (the one from the previous loop). That caused a crash when switching workspaces if there was an extra seat that didn't have a keyboard. https://bugs.freedesktop.org/show_bug.cgi?id=78349
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.