| Summary: | xclipboard_syncer goes crazy when kwin_wayland goes down | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Kai Uwe Broulik <kde> |
| Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | thomas.luebking |
| Priority: | NOR | Flags: | mgraesslin:
Wayland+
mgraesslin: X11- mgraesslin: ReviewRequest+ |
| Version First Reported In: | git master | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| URL: | https://phabricator.kde.org/D5589 | ||
| Latest Commit: | https://commits.kde.org/kwin/572f730e8ecd39767390d9a1568a8cb50625965b | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Kai Uwe Broulik
2016-10-30 10:53:19 UTC
The xclipboard syncer is bound to the X11 session. Given bug #371861 I assume this is related to running a kwin_wayland without --xwayland. Due to that the xclipboard syncer used the wrong X server. When kwin_wayland goes down, the Xwayland server goes down, which in turn also takes down the syncer process. Given that the error is not using --xwayland. Without xwayland KWin doesn't even start. I consistently experienced the aforementioned behavior with kwin_wayland --xwayland --windowed --socket wayland-1 In that case I need a backtrace of the process running amok. For me it always terminated. Possible patch at: https://phabricator.kde.org/D5589 Kai, what state does the org_kde_kwin_xclipboard_syncer process take when this happens? If it's not waiting for some IO response ("D"), can you stop it (before attaching gdb, in order to prevent stalling that)?
If the process turns into a zombie you could attach "strace -p $PID" to it before sending it to the world of the undead to watch the trailing actions.
Git commit 572f730e8ecd39767390d9a1568a8cb50625965b by Martin Gräßlin. Committed on 05/05/2017 at 17:17. Pushed by graesslin into branch 'master'. [helper] Terminate xclipboardsyncer if kwin_wayland goes down Summary: Normally the xclipboardsyncer should terminate because the socket becomes unusable. But we have reports of it not really going down and running amok. In order to prevent such situations this change registers SIGTERM to be sent to xclipboardsyncer when the parent process (that is kwin_wayland) dies in whatever way. This ensures that xclipboardsyncer cannot become an orphan. Test Plan: Only compile tested, no way to get into the problematic situation Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D5589 M +1 -0 CMakeLists.txt M +1 -0 config-kwin.h.cmake M +9 -0 helpers/xclipboardsync/main.cpp https://commits.kde.org/kwin/572f730e8ecd39767390d9a1568a8cb50625965b |