Bug 72931 - deskop-shell tooltips should be destroyed when their output is removed (SEGV triggered)
Summary: deskop-shell tooltips should be destroyed when their output is removed (SEGV ...
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: 2013-12-20 19:29 UTC by U. Artie Eoff
Modified: 2014-01-10 18:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
gdb backtrace (16.21 KB, text/plain)
2013-12-20 19:29 UTC, U. Artie Eoff
Details
another gdb backtrace encountered (10.35 KB, text/plain)
2013-12-20 19:34 UTC, U. Artie Eoff
Details

Description U. Artie Eoff 2013-12-20 19:29:32 UTC
Created attachment 91056 [details]
gdb backtrace

Currently, in multi-output setup when the primary (left) output is removed/unplugged, any desktop-shell tooltips that are displayed on that output are moved to one of the remaining outputs.  As a result, those tooltips never go away unless the original output is plugged back in.

Furthermore, if you try to interact with that tooltip after it's moved to a different output (from it's original output), Weston encounters a SIGSEGV.

wayland (master) 1.3.91-0-g01bde63
drm (master) libdrm-2.4.50-0-g4c5de72
mesa (master) heads/master-0-gd580905
libva (master) libva-1.2.1-0-g88ed1eb
intel-driver (master) 1.2.1-0-g8f306e3
weston (master) heads/master-0-gdf42a80
Comment 1 U. Artie Eoff 2013-12-20 19:34:27 UTC
Created attachment 91058 [details]
another gdb backtrace encountered
Comment 2 Kristian Høgsberg 2014-01-10 08:28:49 UTC
Crash fixed by

commit 9046d2424ab388a0acde1bf0a0c51e292d146f9f
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Jan 10 00:25:30 2014 -0800

    shell: Orphan child windows when a shell surface is destroyed
    
    We now track the child surfaces of a shell surface and the child surfaces
    have a pointer back to their parent.  We need to clean all this up and
    NULL out the childrens parent pointers when a shell surface is destroyed.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72931

and stuck tooltip fixed by

commit b637a40df950398cb0b4ab7f77f73fc7e7886fe8
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Jan 10 00:27:35 2014 -0800

    window: Properly destroy tooltip windows when parent window is destroyed
    
    If we destroy a window with an active tooltip, we leave the tooltip
    hanging around.  Call tooltip destructor when destroying a window.
    This fixes the stuck tooltip observed when unplugging a monitor with
    an active tooltip on the panel.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72931


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.