Bug#509982: mixer_applet2: goes in busy loop after sleep/resume

Antoine Monnet tonio+dbr at xmon.net
Sun Dec 28 09:15:50 UTC 2008


Package: gnome-applets
Version: 2.22.3-3
Severity: important


After a sleep/resume sequence, the mixer_applet2 goes in a busy loop (100% CPU). Stracing the process (a subprocess to be precise),
shows an infinite loop on polling two fds : #17 and #19 :
poll([{fd=19, events=POLLIN|POLLERR|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 2, -1) = 1 ([{fd=19, revents=POLLERR|POLLNVAL}])

Looking at these fds, it seems #19 is not valid any more :
nicolas:/home/tonio# ls -l /proc/4146/fd/
total 0
lrwx------ 1 tonio tonio 64 déc 28 09:55 0 -> /dev/null
lrwx------ 1 tonio tonio 64 déc 28 09:55 1 -> /dev/null
lrwx------ 1 tonio tonio 64 déc 28 09:55 10 -> socket:[17937]
lrwx------ 1 tonio tonio 64 déc 28 09:55 11 -> socket:[17939]
lrwx------ 1 tonio tonio 64 déc 28 09:55 12 -> socket:[17942]
lrwx------ 1 tonio tonio 64 déc 28 09:55 13 -> socket:[17952]
lrwx------ 1 tonio tonio 64 déc 28 09:55 14 -> socket:[17949]
lrwx------ 1 tonio tonio 64 déc 28 09:55 15 -> socket:[17985]
lrwx------ 1 tonio tonio 64 déc 28 09:55 16 -> socket:[17986]
lr-x------ 1 tonio tonio 64 déc 28 09:55 17 -> pipe:[18118]
l-wx------ 1 tonio tonio 64 déc 28 09:55 18 -> pipe:[18118]
lrwx------ 1 tonio tonio 64 déc 28 09:55 19 -> /dev/snd/controlC1 (deleted)
lrwx------ 1 tonio tonio 64 déc 28 09:55 2 -> /dev/null
lrwx------ 1 tonio tonio 64 déc 28 09:55 3 -> socket:[17904]
lr-x------ 1 tonio tonio 64 déc 28 09:55 4 -> pipe:[17909]
l-wx------ 1 tonio tonio 64 déc 28 09:55 5 -> pipe:[17909]
lr-x------ 1 tonio tonio 64 déc 28 09:55 6 -> pipe:[17910]
l-wx------ 1 tonio tonio 64 déc 28 09:55 7 -> pipe:[17910]
lr-x------ 1 tonio tonio 64 déc 28 09:55 8 -> pipe:[17911]
l-wx------ 1 tonio tonio 64 déc 28 09:55 9 -> pipe:[17911]

I suspect on sleep/resume, the device file /dev/snd/controlC1 is recreated. 

Looking at poll(2) manpage, it seems result -1 from poll function reports an error. I think the mixer_applet doesn't correctly checks
the returned value.

-- System Information:
Debian Release: 5.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gnome-applets depends on:
ii  debconf [debconf-2.0]      1.5.24        Debian configuration management sy
ii  gconf2                     2.22.0-1      GNOME configuration database syste
ii  gnome-applets-data         2.22.3-3      Various applets for GNOME 2 panel 
ii  gnome-icon-theme           2.22.0-1      GNOME Desktop icon theme
ii  gnome-panel                2.20.3-5      launcher and docking facility for 
ii  gstreamer0.10-alsa [gstrea 0.10.19-2     GStreamer plugin for ALSA
ii  gstreamer0.10-plugins-good 0.10.8-4      GStreamer plugins from the "good" 
ii  gstreamer0.10-pulseaudio [ 0.9.7-2       GStreamer plugin for PulseAudio
ii  libapm1                    3.2.2-12      Library for interacting with APM d
ii  libatk1.0-0                1.22.0-1      The ATK accessibility toolkit
ii  libbonoboui2-0             2.22.0-1      The Bonobo UI library
ii  libc6                      2.7-16        GNU C Library: Shared libraries
ii  libcpufreq0                004-2         shared library to deal with the cp
ii  libdbus-1-3                1.2.1-4       simple interprocess messaging syst
ii  libdbus-glib-1-2           0.76-1        simple interprocess messaging syst
ii  libgconf2-4                2.22.0-1      GNOME configuration database syste
ii  libglade2-0                1:2.6.2-1     library to load .glade files at ru
ii  libglib2.0-0               2.16.6-1      The GLib library of C routines
ii  libgnome-desktop-2         2.22.3-2      Utility library for loading .deskt
ii  libgnome2-0                2.20.1.1-1    The GNOME 2 library - runtime file
ii  libgnomekbd2               2.22.0-1      GNOME library to manage keyboard c
ii  libgnomekbdui2             2.22.0-1      User interface library for libgnom
ii  libgnomeui-0               2.20.1.1-2    The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0             1:2.22.0-5    GNOME Virtual File System (runtime
ii  libgnomevfs2-extra         1:2.22.0-5    GNOME Virtual File System (extra m
ii  libgstreamer-plugins-base0 0.10.19-2     GStreamer libraries from the "base
ii  libgstreamer0.10-0         0.10.19-3     Core GStreamer libraries and eleme
ii  libgtk2.0-0                2.12.11-4     The GTK+ graphical user interface 
ii  libgtop2-7                 2.22.3-1      gtop system monitoring library
ii  libgucharmap6              1:2.22.3-2    Unicode browser widget library (sh
ii  libgweather1               2.22.3-1      GWeather shared library
ii  libhal1                    0.5.11-6      Hardware Abstraction Layer - share
ii  libnotify1 [libnotify1-gtk 0.4.4-3       sends desktop notifications to a n
ii  liboobs-1-4                2.22.0-1      GObject based interface to system-
ii  libpanel-applet2-0         2.20.3-5      library for GNOME Panel applets
ii  libpango1.0-0              1.20.5-3      Layout and rendering of internatio
ii  libwnck22                  2.22.3-1      Window Navigator Construction Kit 
ii  libx11-6                   2:1.1.5-2     X11 client-side library
ii  libxklavier12              3.5-2         X Keyboard Extension high-level AP
ii  libxml2                    2.6.32.dfsg-5 GNOME XML library
ii  python                     2.5.2-3       An interactive high-level object-o

Versions of packages gnome-applets recommends:
ii  deskbar-applet                2.22.3.1-1 universal search and navigation ba
ii  gnome-media                   2.22.0-3   GNOME media utilities
ii  gnome-netstatus-applet        2.12.1-2   Network status applet for GNOME 2
ii  gnome-system-monitor          2.22.3-1   Process viewer and system resource
ii  python-gnome2                 2.22.0-1   Python bindings for the GNOME desk

Versions of packages gnome-applets suggests:
ii  acpid                         1.0.8-1    Utilities for using ACPI power man
pn  cpufreqd | cpudyn | powernowd <none>     (no description available)
pn  tomboy                        <none>     (no description available)

-- debconf information excluded






More information about the pkg-gnome-maintainers mailing list