Bug#584491: gnome-session opens ICE socket named using PID; doesn't cope with socket existing

Josh Triplett josh at joshtriplett.org
Thu Jun 3 22:02:16 UTC 2010


Package: gnome-session
Version: 2.30.0-1
Severity: important

gnome-session opens its ICE listening socket in /tmp/.ICE-unix/ and
names the socket using its PID.  If the path it wants to create already
exists (for instance, from a previous run of gnome-session), it fails,
with a message saying "Could not create ICE listening socket: Cannot
establish any listening sockets", and then many parts of the session
subtly (or less than subtly) break.

A few things compound this problem:

- PID collisions become rather more likely due to the relatively
  consistent number of processes run as part of the boot process.

- I turn off cleaning of /tmp on boot.  (Started doing so a long time
  ago after one too many times losing useful files I happened to stash
  in /tmp.)

- A guess: gdm3 actually runs gnome-session, and does so as a different
  user than the gnome-session run later as part of a user session, so
  even if gnome-session handles removing an existing socket, it won't
  have permission to do so.


gnome-session should name its sockets in a way far less predictable and
less likely to collide, and it should probably retry if it has a
collision, at least a few times.

gnome-session should also clean up its socket when it exits (whether
normally or via SIGTERM).

Also, as far as I can tell nothing relies on the ICE socket living in
/tmp/.ICE-unix, so perhaps it could move to /var/run, which *should*
always get cleaned on boot (or just mounted as a tmpfs).

- Josh Triplett

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.34-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnome-session depends on:
ii  gnome-panel                   2.30.0-2   launcher and docking facility for 
ii  gnome-session-bin             2.30.0-1   The GNOME Session Manager - Minima
ii  gnome-session-common          2.30.0-1   Common files for the GNOME session
ii  gnome-settings-daemon         2.30.1-1   daemon handling the GNOME session 
ii  metacity                      1:2.30.1-1 lightweight GTK+ window manager
ii  nautilus                      2.30.1-1   file manager and graphical shell f
ii  policykit-1-gnome             0.96-2     GNOME authentication agent for Pol

Versions of packages gnome-session recommends:
ii  gnome-power-manager           2.30.1-1   power management tool for the GNOM

Versions of packages gnome-session suggests:
ii  desktop-base                  5.0.5      common files for the Debian Deskto
ii  gnome-keyring                 2.30.1-2   GNOME keyring services (daemon and
ii  gnome-user-guide              2.30.1-1   GNOME user's guide

-- no debconf information






More information about the pkg-gnome-maintainers mailing list