retitle 495257 dbus should not use connection on restart severity 495257 important thanks,
On Fri, Aug 15, 2008 at 06:59:55PM +0100, Sam Morris wrote: > Package: dbus > Version: 1.2.1-3 > Severity: serious > > Yesterday I upgraded my system and during the process the system dbus > daemon was restarted. This caused a variety of interesting and amusing > things to happen to my system, including gnome-power-manager dieing, > network-manager dieing, the gnome panel dieing, and rhythmbox freezing > up and chewing 100% of the CPU. > > The bugs I filed upstream are: > > http://bugzilla.gnome.org/show_bug.cgi?id=547932 > http://bugzilla.gnome.org/show_bug.cgi?id=547850 > http://bugzilla.gnome.org/show_bug.cgi?id=547851 > http://bugzilla.gnome.org/show_bug.cgi?id=547849 > > In the last of these, the NetworkManager developers were quite clear > that distributions must *not* restart the dbus system bus, ever: > > "Distros should not be restarting the bus on upgrade of the dbus package. NM > supports bus reconnections when it's been kicked off because of doing > something bad, but does not support bus reconnections if dbus itself goes > away." > and > > "the user wouldn't need to scratch his/her head if the distro did not restart > the dbus service on a package upgrade. the bus is _not_ meant to be > restarted on-the-fly. this is also the view of upstream dbus maintainers and > has always been the view of upstream dbus maintainers. there are way too > many pieces here on the bus that NM talks to, and the code for doing state > resynchronization after a bus restart would be hugely prohibitive when the > bus should just not be restarted in the first place." > > A dbus developer also cited a mailing list thread > <http://mail.gnome.org/archives/networkmanager-list/2005-March/msg00022.html> > where it was stated, > > "I don't think we should really try to support this. Restarting D-BUS > should be viewed like trying to live-restart a new kernel. There's so > many complicated issues in it, and it'll be a rarely-tested code path. > Right now it's a bug that the Fedora D-BUS and NetworkManager RPM > scripts restart after a package upgrade." > > Given the amount of crashes, freezes and general random weird behaviour > that occurs when the system dbus daemon is restarted, it is clear that > dbus clients simply can not handle the daemon being restarted. Since the > upstreams of both dbus clients, and of dbus itself, say that this should > not be done, and are not interested in accepting patches to make things > work, we really shouldn't be doing it. The only reason why D-Bus restarts in a stable debian version, is security updates. Where it does not make sense to wait imho. Also for something like network-manager, we restart that on dbus upgrade, so the user-experience should just be a network reconnection (if he's on wireless), which is what it nicely does on my system. I do regard programs not coping gracefully with a dbus-daemon crash or restart as being buggy and fixed several of them over the years. For most things it's not that hard to fix. If you want a real solution, then dbus should support restarting/reloading itself in place like init does. If you want to claim that d-bus should be treated like the kernel, please make it part of the kernel :) Also like michiel said further on in the thread, upgrades from etch to lenny will always restart dbus. So for etch->lenny we can't fix this anyway. Hopefully for lenny+1 there will be a better solution. Sjoerd -- Reality is just a crutch for people who can't handle science fiction. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]