reassign 522370 gnome-session retitle 522370 gnome-session starts D-Bus session bus the wrong way thanks
Josselin Mouette wrote: > Nevertheless, there is a bug in gnome-session: autospawning the D-Bus > daemon, which is done by the GConf library, leads to race conditions. > Spawning the daemon if it is not here yet should be the first thing > gnome-session does. A simpler way might be to throw an error dialog if > there is no D-Bus daemon, and frankly I’m tempted to do that given the > amount of bugs you’ll encounter if dbus-daemon is not started before > gnome-session. Hi Joss, I discussed this issue with sjoerd on irc. Here is the log: > [14:00] <mbiebl> sjoerd: there is also > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522370 > [14:01] <mbiebl> Which joss asked for explictly > [14:02] <mbiebl> do you think it's ok? > [14:02] <sjoerd> let's see > [14:06] <sjoerd> well > [14:06] <sjoerd> you don't need to pre-launch the bus > [14:06] <sjoerd> it's just an optimisation > [14:06] <mbiebl> apparently the autolaunch is not working as expected > [14:07] <mbiebl> I vaguely remember a problem where gnome-session did not set > the correct environment (variables) if dbus was autospawned > [14:08] <mbiebl> might actually be a problem of gnome-session though > [14:09] <sjoerd> well > [14:11] <mbiebl> fwiw you can easily reproduce the problem by starting your > gnome-session with "startx /usr/bin/gnome-session" from the command line > [14:12] <sjoerd> autolaunching is done when there is no session bus address > set > [14:12] <sjoerd> but it should only launch one bush per session > [14:13] <sjoerd> and i see only one --autolaunch running > [14:13] <mbiebl> you are right, I can confirm that > [14:14] <mbiebl> two gconfd processes, two dbus-daemon --session processes > [14:14] <mbiebl> but only one with --autolaunch > [14:14] <sjoerd> hang on > [14:15] <mbiebl> gnome-session/gsm-dbus.c seems to start it on its own > [14:15] <sjoerd> doesn't seem to do that in 2.26 anymore > [14:15] <sjoerd> but that's the problem indeed > [14:15] <sjoerd> that will break autolaunching > [14:16] <sjoerd> if it spawns its own it needs to use dbus-launch itself > [14:16] <sjoerd> does it just execture dbus-daemon by hand ? > [14:18] <mbiebl> execlp ("dbus-daemon", > [14:18] <mbiebl> "dbus-daemon", > [14:18] <mbiebl> "--fork", > [14:18] <mbiebl> "--print-address", address_str, > [14:18] <mbiebl> "--print-pid", pid_str, > [14:18] <mbiebl> "--session", > [14:18] <mbiebl> NULL); > [14:19] <sjoerd> right > [14:19] <sjoerd> don't do that > [14:19] <sjoerd> that's what is causing the issue > [14:19] <sjoerd> dbus-launching does take a bit more time then just looking > up the env variable > [14:19] <sjoerd> but it works transparantly > [14:19] <sjoerd> unless you do stupid things like that > [14:20] <sjoerd> that will also break loging into a machine and doing say > DISPLAY=:0 rhythmbox-client --pause > [14:20] <mbiebl> ok, I'll reassign the bug to gnome-session > [14:20] <mbiebl> with our irc log attached ;-) > [14:21] <mbiebl> ok? > [14:21] <sjoerd> sounds fine > [14:21] <sjoerd> i do see joss point (even after we fix gnome-session) > [14:21] <sjoerd> but i don't think it's worth it > [14:22] <sjoerd> given that that will undo the config of people how did > actually remove it for a reason Apparently, gnome-session is starting it's own instance of dbus-daemon and is doing it "the wrong way". That's why a second instance of dbus-daemon is auto-launched. This will also break your gnome-session, if e.g. you start it from the console via "startx /usr/bin/gnome-session". So, the best option is, to simply fix gnome-session, thus reassigning. According to sjoerd, this should already be fixed in upstream gnome-session 2.26. Cheers, Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature