Ticket #494 (closed defect: workaround)

Opened 12 years ago

Last modified 11 years ago

Switch User locks things up hard on lola-granola (karmic)

Reported by: phurst Owned by:
Priority: normal Milestone: Summer 2010 (Lucid Deploy)
Component: -- Keywords:
Cc: Fixed in version:
Upstream bug:

Description

Clicking 'Switch User' in the logout menu on Karmic sends the machine to a black screen; magic SysRq? doesn't work, and apparently ssh sessions into the machine freeze as well. Apparently /var/log shows nothing of interest as well.

Change History

comment:1 Changed 12 years ago by broder

So....uh...on the bad ideas front,

--- /etc/dbus-1/system.d/gdm.conf~	2009-12-08 07:28:02.000000000 -0500
+++ /etc/dbus-1/system.d/gdm.conf	2010-01-27 03:17:07.250677800 -0500
@@ -69,12 +69,12 @@
            send_interface="org.gnome.DisplayManager.Display"
            send_member="IsLocal"/>
 
-    <allow send_destination="org.gnome.DisplayManager"
+<!--    <allow send_destination="org.gnome.DisplayManager"
            send_interface="org.gnome.DisplayManager.LocalDisplayFactory"
            send_member="CreateTransientDisplay"/>
     <allow send_destination="org.gnome.DisplayManager"
            send_interface="org.gnome.DisplayManager.LocalDisplayFactory"
-           send_member="StartGuestSession"/>
+           send_member="StartGuestSession"/> -->
 	   
     <allow send_destination="org.gnome.DisplayManager"
            send_interface="org.gnome.DisplayManager.UserManager"

User switching uses that interface for communicating with GDM. By denying unprivileged users the ability to communicate with that particular interface over D-Bus, you deny them the right to try and switch users. It gives an ugly error message, but it's a step up from what appears to be a kernel panic.

I think that if we can come up with a way to make this fail:

        if (gdm_proxy == NULL) {
                gdm_proxy = dbus_g_proxy_new_for_name(system_bus,
                                                      "org.gnome.DisplayManager",
                                                      "/org/gnome/DisplayManager/LocalDisplayFactory",
                                                      "org.gnome.DisplayManager.LocalDisplayFactory");
        }

then we can suppress the menu item as well, but I don't know how to make a proxy object fail to bind - denying the user's ability to send messages to that object doesn't seem to cut it.

comment:2 Changed 12 years ago by broder

Hmm...for that matter, I don't actually think that creating a proxy object attempts to send any messages - I think it just always succeeds. So we might not be able to disable switching users that way.

We could...switch to KDM?

comment:3 Changed 12 years ago by andersk

You can disable user switching in gconf (see  https://bugs.launchpad.net/153356 comment #5). That said, I would _really_ like our instinctive reaction to a bug in Ubuntu to be to file an Ubuntu bug report, not to write a Debathena kludge to disable the relevant functionality.

This crash is almost certainly hardware-specific, as Switch User has always worked fine for me. Please file an Ubuntu bug report including all the relevant hardware details and any log messages you can get (if any).

comment:4 Changed 12 years ago by geofft

  • Summary changed from Switch User locks things up hard. to Switch User locks things up hard on lola-granola (karmic)

Well, this affects -workstation, so disabling switch user isn't really an acceptable option. (However, I might end up taking that code for -cluster, which wants to disable user switching for orthogonal reasons.)

Anyway, /etc/init.d/gdm restart from tty1 on lola-granola.mit.edu prints a warning about gdm being an Upstart job; switching to tty7 causes the same sort of lockup/panic. Before restarting gdm, I was able to switch TTYs without triggering the lockup.

comment:5 Changed 11 years ago by jdreed

  • Milestone set to Summer 2010 (Lucid Deploy)

We should test this on Lucid, and file an upstream report if it still exists.

comment:6 Changed 11 years ago by jdreed

On Lucid, it appears to tigger a reboot of the system. So, uh, that's an improvement.

comment:7 Changed 11 years ago by jdreed

 LP:153356 is completely irrelevant. We already set the lockdown key (which appears to be ignored in some cases), and disabling f-u-s-a in Lucid means you don't get the power icon (indicator-applet-session).

comment:8 Changed 11 years ago by jdreed

  • Status changed from new to closed
  • Resolution set to workaround

We'll track the upstream issue in #682

Note: See TracTickets for help on using tickets.