Bug 77290 - SIGSEGV in handle_output_move when hot unplug primary while screen lock
Summary: SIGSEGV in handle_output_move when hot unplug primary while screen lock
Status: VERIFIED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium critical
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-10 21:54 UTC by Anu Reddy
Modified: 2014-05-08 18:19 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
gdb_backtrace (9.77 KB, text/plain)
2014-04-10 21:57 UTC, Anu Reddy
Details

Description Anu Reddy 2014-04-10 21:54:23 UTC
Steps:
======
1. Identify primary as display1 and secondary as display2
2. Launch Weston : weston-launch –i5&
3. Allow weston to screen lock 
4. Unplug display1
5. Observe Weston crash. See attached gdb-backtrace for more info.

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
Comment 1 Anu Reddy 2014-04-10 21:57:03 UTC
Created attachment 97197 [details]
gdb_backtrace
Comment 2 Kristian Høgsberg 2014-04-11 17:06:26 UTC
Fixed by:

commit 304996d182874ded26adce40ce1c29210fc5352b
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Fri Apr 11 13:57:15 2014 +0300

    shell: Fix view repositioning logic for output move and destroy
    
    Previously, the repositioning logic would iterate the compositor's list
    of layers and move the views on those layers. However, that failed in
    two different ways: it didn't cover hidden workspaces and crashed when
    the display was locked.
    
    This patch changes the logic to explicit iterate over all the layers
    owned by the shell. The iteration is done through a helper function,
    shell_for_each_layer().
    
    https://bugs.freedesktop.org/show_bug.cgi?id=76859
    https://bugs.freedesktop.org/show_bug.cgi?id=77290


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.