[Wayland-bugs] [Bug 82957] Weston crash when weston-desktop-shell and weston-keyboard missing

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Aug 22 23:13:24 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=82957

Boyan Ding <stu_dby at 126.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stu_dby at 126.com

--- Comment #1 from Boyan Ding <stu_dby at 126.com> ---
Well, the problem here is a quite tricky race condition.

If weston-desktop-shell isn't found (or dies), desktop-shell will do two things
concurrently -- emitting the client's destroy signal and try to launch shell
client again. If the destroy signal is emitted first, everything is okay. If a
new shell client is launched first (calling launch_desktop_shell_process),
things will go wrong because the shell->child.client_destroy_listener is
registered the second time, breaking the listening list of the dead client's
destroy signal. When destroy signal is finally emitted, iteration on the broken
list will cause illegal invocation and the program will crash.

I guess the missing of two programs only increases the chance of race and
sometimes weston won't crash in my observation.

I'll come up with a patch soon.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-bugs/attachments/20140823/0bc6d74a/attachment.html>


More information about the Wayland-bugs mailing list