Weston allows user to preview running clients by pressing and releasing the <mod> key. If a client is in fullscreen mode, then attempting to activate preview mode causes Weston to lock-up. 1. Execute weston-terminal 2. Make weston-terminal fullscreen (<F11>) 3. Activate client previews by pressing and releasing the <mod> key (windows key in my case) 4. Observe Weston locks-up and can't vt-switch. SSH sessions still work and weston can be killed via ssh. wayland (master) heads/master-0-g1521c62 drm (master) libdrm-2.4.50-0-g4c5de72 mesa (master) heads/master-0-g453651e libva (master) heads/master-0-g73a11b3 intel-driver (master) heads/master-0-g9d0bd94 weston (master) heads/master-0-gc8f8dd8
This can be reproduced on desktop-shell running on x11 and drm backends. Weston actually ends up hogging 100% CPU and starts allocating huge amounts of memory until it runs out.
*** Bug 72856 has been marked as a duplicate of this bug. ***
I've sent a patch to the ml.
commit e6bbe5a90d1ea91624ebdbdb7abdc7a1bbe9829d Author: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Date: Tue Jan 7 16:41:39 2014 +0100 exposay: fix infinite loop with fullscreen surfaces We were calling exposay_highlight_surface() inside a wl_list_for_each loop for a layer, but exposay_highlight_surface() calls activate() which calls shell_surface_update_layer(), which removes the surface from its layer and reinserts it, causing an infinite loop. Call exposay_highlight_surface() outside the for_each to avoid this. https://bugs.freedesktop.org/show_bug.cgi?id=72404
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.