On 06/02/2016 11:01 AM, Ray Strode wrote:
Hi,
On Wed, Jun 1, 2016 at 10:58 AM, Matthias Clasen <mclasen(a)redhat.com> wrote:
> Leaking session processes have been a perennial problem that
> we have been battling forever (gconf, ibus, pulseaudio, the list goes
> on...). And they are causing actual problems, from preventing re-login
> to subtly breaking the next session to slowing down shutdown.
This is definitely true. It's a class of bug that's hit us over and
over again. (in addition to gconf, ibus, and pulseaudio above, you
could add bonobo-activation-server, evolution-data-server, gam_server
off the top of my head). The problem is that background services
don't generally take display connections, since they don't need to
display anything. So they don't die when the display goes away.
We tried to fix this a long time ago with the introduction of dbus
into the desktop. The idea was the session dbus-daemon daemon would
define the scope of the session, and services would grab a bus
connection if they wanted to be scoped to the session.
Of course, starting in Fedora 24, we no longer have a session bus.
It's a user bus now. So the bus won't go away until the last user
session (for a user) ends, and those background services won't go away
until they lose their bus connections, since they still rely on
dbus-daemon to cut the cord when the session ends. While those
background services are waiting for their bus connection to disappear,
they're keeping the session alive (but in a "closing" state).
To me, KillUserProcesses=yes is better from a theoretical
it-should-have-always-done-this-if-it-could-have standpoint, and it's
better from real world
it-eliminates-a-class-of-bugs-that-has-plagued-us standpoint.
I don't like that it requires users to have to change workflows, so
that's a negative and I understand why the change is controversial.
We may want to consider reverting the user bus change for F24 and
revisit in F25, not sure.
I don't think we need to change Fedora 24 for this. Unless I misunderstood, this
systemd change has not been pushed to Fedora 24 (nor proposed for it). We're
prepping for how to deal with things in Fedora 25.
So to Smooge's point, I think we should leave this as-is and avoid any new
fallout during Final Freeze. We have months to address things in Fedora 25.