After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 707486 - login screen doing Telepathy calls
login screen doing Telepathy calls
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: login-screen
3.9.x
Other Linux
: Normal normal
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
3.12.1
: 721626 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-09-04 16:36 UTC by Frederic Crozat
Modified: 2015-03-20 13:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Frederic Crozat 2013-09-04 16:36:55 UTC
If at-spi2-core is installed and configured, it will start a dbus bus in gdm session, which will cause dbus to start mission-control (and goa-daemon) when it gets queries from gnome-shell login screen.

It would be better to avoid those queries from login screen.
Comment 1 Matthias Clasen 2013-09-05 19:28:29 UTC
sounds like a misconfiguration issue to me. The a11y bus should really have nothing to do with starting mission-control, or goa-daemon.
Comment 2 Ray Strode [halfline] 2013-09-06 16:13:38 UTC
well there are two different independent issues:

1) at-spi starts it's on message bus.  this is probably fine and expected.
2) gnome-shell inadvertently activates a telepathy daemon at the login screen.  This is harmless, but unnecessary, so maybe worth fixing.
Comment 3 Florian Müllner 2013-09-06 16:40:43 UTC
Does this happen immediately on the login-screen, or only after showing the screen shield? The problem might be that the tp handler is disabled in 'gdm' mode, but not in the 'lock-screen' mode which is shared between 'user' and 'gdm' sessions.
Comment 4 Matthias Clasen 2013-09-08 19:28:11 UTC
Frederic, can you answer Florians question ?
Comment 5 Jasper St. Pierre (not reading bugmail) 2013-09-08 20:24:33 UTC
(In reply to comment #3)
> Does this happen immediately on the login-screen, or only after showing the
> screen shield? The problem might be that the tp handler is disabled in 'gdm'
> mode, but not in the 'lock-screen' mode which is shared between 'user' and
> 'gdm' sessions.

We create a TpAccountManager in the message tray for the message tray menu's status:

https://git.gnome.org/browse/gnome-shell/tree/js/ui/messageTray.js#n1582

This is probably what's launching Telepathy.
Comment 6 Frederic Crozat 2013-09-09 08:47:18 UTC
(In reply to comment #3)
> Does this happen immediately on the login-screen, or only after showing the
> screen shield? 

Immediatly on the login screen.
Comment 7 Matthias Clasen 2013-09-09 09:19:13 UTC
(In reply to comment #5)

> We create a TpAccountManager in the message tray for the message tray menu's
> status:
> 
> https://git.gnome.org/browse/gnome-shell/tree/js/ui/messageTray.js#n1582
> 
> This is probably what's launching Telepathy.

Do we even have a message tray on the login screen ?
Comment 8 Jasper St. Pierre (not reading bugmail) 2013-09-09 14:34:44 UTC
I believe we might still show a notification or two, but clearly it's just the fact that the message tray is always created leaking out into gdm.
Comment 9 Matthias Clasen 2013-09-19 13:27:42 UTC
do we want to address this for 3.10 ?
Comment 10 Ray Strode [halfline] 2013-09-19 13:33:32 UTC
doesn't seem critical for 3.10.0
Comment 11 Frederic Crozat 2013-09-19 13:34:35 UTC
/me begs to differ, having a process taking 100% cpu is a bit of a problem ;)
Comment 12 Ray Strode [halfline] 2013-09-19 13:36:34 UTC
what process is taking 100% cpu?
Comment 13 Frederic Crozat 2013-09-19 13:37:54 UTC
mission-control (I've also reported this issue on https://bugs.freedesktop.org/show_bug.cgi?id=68946 )
Comment 14 Matthias Clasen 2013-09-26 12:23:48 UTC
would be nice to get rid of the telepathy calls, for 3.10.1
Comment 15 Simon McVittie 2013-10-09 16:21:31 UTC
Setting gdm's XDG_DATA_DIRS to a directory containing a stub version of dbus-1/services/org.freedesktop.Telepathy.AccountManager.service and dbus-1/services/org.freedesktop.Telepathy.MissionControl5.service (e.g. with Exec=/bin/false) might be a way to avoid MC without any code changes.

Indeed, I wonder whether gdm's entire XDG_DATA_DIRS search path ought to be something that avoids /usr/local/share and /usr/share?
Comment 16 Simon McVittie 2013-10-09 16:40:47 UTC
Another possibility would be for gdm to ship a file resembling /etc/dbus-1/session.conf, but not containing <standard_session_servicedirs />, and run the greeter session under a dbus-daemon configured to read that file (--config /etc/gdm/dbus-session.conf instead of --session, or something). That way, you have full control over service activation, and can avoid having *anything* be service-activatable (symlinking in individual services like AT-SPI if you want them).

http://cgit.freedesktop.org/dbus/dbus/tree/tools/dbus-run-session.c illustrates how to start a dbus-daemon without using dbus-launch. That executable is shipped in D-Bus 1.7, but not in D-Bus 1.6 (although it'd be easy to backport if people want it - I've done that for Debian).
Comment 17 Ray Strode [halfline] 2014-01-07 18:07:37 UTC
*** Bug 721626 has been marked as a duplicate of this bug. ***
Comment 18 drago01 2014-01-07 18:35:10 UTC
Hmm we could wrap stuff into if (Main.sessionMode.isGreeter) { ... } but that's kind of ugly.
Comment 19 Simon McVittie 2014-01-07 18:47:52 UTC
Wouldn't it be better for the login screen to be running in an environment where nothing can be service-activated, except for the few services that you've explicitly "whitelisted"? That's effectively what I suggested in Comment #15, Comment #16.

Analogous: /usr/share/gdm/greeter/applications, /usr/share/gdm/greeter/autostart are already used instead of the standard applications/autostart directories.
Comment 20 drago01 2014-01-07 19:16:21 UTC
(In reply to comment #19)
> Wouldn't it be better for the login screen to be running in an environment
> where nothing can be service-activated, except for the few services that you've
> explicitly "whitelisted"? That's effectively what I suggested in Comment #15,
> Comment #16.
> 
> Analogous: /usr/share/gdm/greeter/applications,
> /usr/share/gdm/greeter/autostart are already used instead of the standard
> applications/autostart directories.

Yeah I think that makes sense. Ray?
Comment 21 Ray Strode [halfline] 2014-01-08 20:29:58 UTC
note /usr/share/gdm/greeter/applications augments /usr/share/applications, not replaces.

I agree whitelisting dbus services would be a good way to prevent unwanted ones from starting (which is a security win), but it also imposes a hefty maintenance burden, since we'll always be playing catch up.  We do have that situation today with g-s-d plugins, though.

Also, oftentimes the code used at login screen is going to need to be somewhat aware anyway, since it has to gracefully handle the service failing to activate.

I'm not 100% sold on the idea, but not 100% against either.
Comment 22 Simon McVittie 2014-01-09 12:09:50 UTC
Augmenting the search path with a higher-priority-than-/usr/share location that stubs the Telepathy services (Comment #15) would also work.

With Telepathy maintainer hat on: I'm not comfortable with the Telepathy services running in the greeter. The greeter environment shouldn't offer arbitrary code execution, and Telepathy is sufficiently complicated that I don't want to try to guarantee that it doesn't do that.
Comment 23 Ray Strode [halfline] 2014-01-09 16:29:14 UTC
sure, I think we all agree that it shouldn't be running at the greeter.  The question is where do we "cut the trace".  I think at a minimum we should fix it at the source in the shell, but offering some extra line of defense to prevent it from accidentally getting started might makes sense, too. But, the main point I want to make is, we have control over our code and shouldn't rely on it erroring out or something, if we can help it.
Comment 24 André Klapper 2014-03-22 19:17:28 UTC
https://bugs.freedesktop.org/show_bug.cgi?id=68946 says "moving away the goa plugin fixed the crash and 100% cpu usage: MC is being terminated nicely when user logins."
Comment 25 Matthias Clasen 2014-10-22 20:46:35 UTC
We really should address the underlying issue here, still: it is not cool that we run mission-control, goa-daemon and a bunch of other stuff on the login screen.
Comment 26 Florian Müllner 2015-03-20 13:01:11 UTC
Tentatively closing this as obsolete - the message tray is gone, and with it the menu button that used the telepathy presence to pick its icon.