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

Boyan Ding <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Boyan Ding <[email protected]> ---
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.
_______________________________________________
Wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to