On Tue, Aug 23, 2011 at 3:08 PM, Michael Mol <mike...@gmail.com> wrote: > On Tue, Aug 23, 2011 at 2:57 PM, Canek Peláez Valdés <can...@gmail.com> wrote: >> On Tue, Aug 23, 2011 at 2:35 PM, Michael Mol <mike...@gmail.com> wrote: >>> On Tue, Aug 23, 2011 at 1:49 PM, Canek Peláez Valdés <can...@gmail.com> >>> wrote: >>>> On Tue, Aug 23, 2011 at 1:17 PM, Stroller >>>>> Reading that blog entry I found discouraging the idea that dbus might be >>>>> required on my servers in the future, if systemd becomes popular with >>>>> distros. >>>> >>>> I don't see the problem with D-Bus. It's small (the only hard >>>> dependency it has is an XML parser), and it provides the Linux/UNIX >>>> (de facto) standard interprocess communication system. >>> >>> My chief gripe with D-Bus is that I've had X sessions disappear out >>> from under me as a consequence of the daemon being restarted. Having a >>> single point of failure like that is very, very scary. Otherwise, I >>> like what it tries to do. >> >> Restarting or dying? If it's dying, it's a bug and should be reported. >> I haven't had a crash in dbus in years, and I think pretty much >> everyone agrees it's pretty stable nowadays. It even tries to handle >> gracefully thins like out-of-memory errors and things like that. > > I have no doubt a stellar amount of work has been done to gracefully > handle problem scenarios. > >> >> If it's restarting, why on earth will someone restart the system bus >> with active X sessions? If the dbus daemon is restarted, it has to >> kick all the apps from the bus, including the session manager. > > Because I generally update my desktop system while running X, and on > at least two occasions, an update killed my X session by restarting > DBUS on me
The update don't restart D-Bus: from the dbus-1.4.14 ebuild: elog "To start the D-Bus system-wide messagebus by default" elog "you should add it to the default runlevel :" elog "\`rc-update add dbus default\`" elog elog "Some applications require a session bus in addition to the system" elog "bus. Please see \`man dbus-launch\` for more information." elog ewarn "You must restart D-Bus \`/etc/init.d/dbus restart\` to run" ewarn "the new version of the daemon." ewarn "Don't do this while X is running because it will restart your X as well." Emphasising: "Don't do this while X is running because it will restart your X as well." So I will assume something went terribly wrong when updating, and again, if that's the case then it's a bug and should be reported. > On the other hand, sshd handles restarts without killing active sessions. Because the daemon state for sshd is tiny compared with the one from D-Bus. Apples and oranges. > These are solvable problems which DBUS hasn't solved yet for itself. > High-availability is one of the best-researched fields in computer > science, but DBUS doesn't handle that case, yet. Because it's not as easy as with systemd (which can also reexecute preserving state) or ssh. The state that D-Bus handles can be really, really big, because is a *generic* IPC. Not like Secure Shell, which only handles one type of session and a very limited set of messages. Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México