Bug 76859 - SIGSEGV in shell_reposition_views_on_output_destroy
Summary: SIGSEGV in shell_reposition_views_on_output_destroy
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-03-31 21:29 UTC by Anu Reddy
Modified: 2014-05-08 18:01 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
gdb_backtrace (14.12 KB, text/plain)
2014-03-31 21:31 UTC, Anu Reddy
Details
gdb_backtrace1 (14.66 KB, text/plain)
2014-03-31 21:32 UTC, Anu Reddy
Details

Description Anu Reddy 2014-03-31 21:29:54 UTC
I am launching weston on X11 backend. Closing weston compositor during weston lock causes segmentation fault. See attached gdb backtrace for more info.  

Steps to reproduce:
1. Launch weston on X11 backend :  weston –i5&
2. Allow weston to lock 
3. Close weston via tool bar button ‘X’


Environment:
wayland (master) heads/master-0-g1bf13ae
drm (master) heads/master-0-g1cb5fc7
mesa (master) heads/master-0-g64278b3
libva (master) heads/master-0-ge30e29a
intel-driver (master) heads/master-0-g75a7b09
cairo (master) heads/master-0-gbb17403
libinput (master) heads/master-0-ge49a988
weston (master) heads/master-0-gfe9671e
gstreamer (master) heads/master-0-gf85ce91
Comment 1 Anu Reddy 2014-03-31 21:31:46 UTC
Created attachment 96682 [details]
gdb_backtrace
Comment 2 Anu Reddy 2014-03-31 21:32:19 UTC
Created attachment 96683 [details]
gdb_backtrace1
Comment 3 Ander Conselvan de Oliveira 2014-04-02 14:17:10 UTC
I sent a patch back in January that would fix this bug as a side effect.

http://lists.freedesktop.org/archives/wayland-devel/2014-January/012969.html
Comment 4 Kristian Høgsberg 2014-04-11 17:06:18 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.