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 488308 - blocks for 25s after volume key press sometimes
blocks for 25s after volume key press sometimes
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
0.12.x
Other All
: Normal critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 519120 531407 570634 612739 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-10-19 15:23 UTC by Aymeric
Modified: 2010-07-15 11:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
strace log (27.74 KB, application/octet-stream)
2010-05-19 11:30 UTC, Jean-François Fortin Tam
Details
strace log (118.15 KB, application/octet-stream)
2010-05-20 14:04 UTC, Jean-François Fortin Tam
Details
strace -s 200 (134.00 KB, text/plain)
2010-06-27 15:23 UTC, Jean-François Fortin Tam
Details
dbus-monitor --session --profile (8.21 KB, text/plain)
2010-06-27 15:24 UTC, Jean-François Fortin Tam
Details

Description Aymeric 2007-10-19 15:23:48 UTC
Please describe the problem:
When Rhythmbox is the active window and that I hit one of the control buttons (on my laptop) to increase or decrease the volume, Rhythmbox freezes for approximately 20 seconds and sometimes makes the other applications freeze also. This problem  doesn't happen when Rhythmbox is not the active window, and it did not occur with the previous version of rhythmbox I used (0.10.0).

Steps to reproduce:
1. Make Rhythmbox the active window
2. Press one the 3 buttons to control volume (increase, decrease or mute)


Actual results:
Rhythmbox freezes for approximately 20 seconds. It also makes the other applications freeze. However it doesn't affect playback, but the volume doesn't change. When the 20 seconds are passed, everything returns to normal and the sound volume is changed.

Expected results:
The sound should adjust immediately without affecting rhythmbox or the other applications (like in previous versions).

Does this happen every time?
Yes

Other information:
My laptop is a dell 6400 and the control buttons work fine with the other applications I use.
Comment 1 Jacob Peddicord 2007-11-01 22:27:39 UTC
I can confirm this. It will not happen 100% of the time; however if you let the volume "window" disappear and hit another volume key, it might work again. On average, this happens about 30% of the time.

More conditions:
1. Rb is active window
2. Press a button
3. No freeze? Wait for the volume dialog to disappear, and try again.

This is a regression. It seemed to work fine until the day GNOME 2.20 stable was released, ironically.
Comment 2 Jonathan Matthew 2008-02-27 22:57:20 UTC
*** Bug 519120 has been marked as a duplicate of this bug. ***
Comment 3 Jonathan Matthew 2008-05-04 21:52:26 UTC
*** Bug 531407 has been marked as a duplicate of this bug. ***
Comment 4 Jonas H. 2008-08-05 11:08:13 UTC
Deactivating the multimedia keys solved this for me. The problem is afaik that Rhythmbox fetches multimedia keys "the wrong way" (debug output said this for me but I don't have it anymore).

Cheers
Comment 5 Jonathan Matthew 2009-02-05 14:44:44 UTC
*** Bug 570634 has been marked as a duplicate of this bug. ***
Comment 6 Jonathan Matthew 2009-02-05 14:45:17 UTC
Can anyone reproduce this with rhythmbox 0.11.5 or newer?
Comment 7 Stefan Knorr 2009-02-05 15:14:34 UTC
Yes. Using 0.11.6 on Ubuntu Intrepid. To add this from my duplicate: for me, this is only reproducible with compositing (no matter if Compiz's or Matacity's) on.
(Sorry for the duplicate.)
Comment 8 Lindar 2010-02-21 20:58:35 UTC
I also have this problem.
Version: 0.12.5-0Ubuntu5.2
Using laptop shortcut keys causes the programme and sometimes the whole OS to freeze for 30 seconds or more. I'm using an Asus EeePC, so we can rule out it being specific to a particular laptop. This did not happen with previous versions.
Comment 9 Jonathan Matthew 2010-03-12 21:31:19 UTC
*** Bug 612739 has been marked as a duplicate of this bug. ***
Comment 10 Jonathan Matthew 2010-03-12 21:35:05 UTC
According to bug 612739, this may be related to the mmkeys plugin re-grabbing the media keys when the window regains focus.  Could someone affected by this bug please provide output from 'dbus-monitor --profile' from around the time the problem occurs?
Comment 11 az_mad_scientist 2010-04-25 04:31:14 UTC
I have this problem as well, on Ubuntu Karmic. I tried dbus-monitor --profile, and the output was this:

mc	1272169746	946255	321	:1.1585	/org/gnome/SettingsDaemon/MediaKeys	org.gnome.SettingsDaemon.MediaKeys	GrabMediaPlayerKeys
mr	1272169746	956771	5204	321	:1.1585
mc	1272169748	779798	5205	:1.12	/org/freedesktop/Notifications	org.freedesktop.Notifications	GetServerInformation
mr	1272169748	780247	10352	5205	:1.12
mc	1272169748	780670	5206	:1.12	/org/freedesktop/Notifications	org.freedesktop.Notifications	GetCapabilities
mr	1272169748	781058	10353	5206	:1.12
mc	1272169748	781930	5207	:1.12	/org/freedesktop/Notifications	org.freedesktop.Notifications	Notify
mc	1272169748	922559	322	:1.1585	/org/gnome/SettingsDaemon/MediaKeys	org.gnome.SettingsDaemon.MediaKeys	GrabMediaPlayerKeys
mc	1272169765	632359	16586	:1.75	/org/freedesktop/DBus	org.freedesktop.DBus	RemoveMatch
mr	1272169773	806974	5208	322	:1.1585
mr	1272169773	816510	10354	5207	:1.12
sig	1272169776	209653	10355	/org/freedesktop/Notifications	org.freedesktop.Notifications	NotificationClosed

The only part of it that happened during the freeze itself was "RemoveMatch".
Comment 12 Jonathan Matthew 2010-04-25 05:38:18 UTC
Thanks.

mc    1272169748    922559    322    :1.1585   
/org/gnome/SettingsDaemon/MediaKeys    org.gnome.SettingsDaemon.MediaKeys   
GrabMediaPlayerKeys
mr    1272169773    806974    5208    322    :1.1585

This shows the dbus call to re-grab the media keys taking 25 seconds.  This probably means that gnome-settings-daemon is blocking somewhere, preventing it from handling the dbus call.  If you could provide a stack trace from gnome-settings-daemon during this period, that would help track down the cause.

Meanwhile in commit d95027b I've updated the mmkeys plugin to use an asynchronous call, so at least the rhythmbox UI shouldn't be blocked while this is happening.
Comment 13 az_mad_scientist 2010-04-25 06:16:20 UTC
Okay. How do I get a stack trace?
Comment 14 Jonathan Matthew 2010-04-25 06:25:48 UTC
See http://live.gnome.org/GettingTraces for details, but in short:
0) ensure you have debug symbols for gnome-settings-daemon, glib, and dbus (at least)
1) run gdb gnome-settings-daemon `pidof gnome-settings-daemon`; at the '(gdb)' prompt, type 'continue' and hit enter
2) adjust the volume until the problem occurs
3) hit ctrl-c in the terminal where you're running gdb
4) type 'thread apply all bt' in gdb, gather all the output and paste it in here.
Comment 15 Jean-François Fortin Tam 2010-05-19 01:42:07 UTC
Hi. I'm affected by this too. Stock ubuntu 10.04 with notify-osd and compiz. A symptom I have noticed is that *both* notify-osd and the "normal" gnome volume OSD show up in this case (but when rhythmbox is not focused and no hang happens, only the notify-osd one appears).

This also happens with gnome-shell, so compiz is not the culprit.

Here is the requested trace, I hope I did it properly. Let me know if it helps.



jeff@kagami:~$ gdb gnome-settings-daemon 1261
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/gnome-settings-daemon...(no debugging symbols found)...done.
Attaching to program: /usr/bin/gnome-settings-daemon, process 1261
Reading symbols from /usr/lib/libgtk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0
Reading symbols from /usr/lib/libgconf-2.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgconf-2.so.4
Reading symbols from /usr/lib/libgmodule-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgmodule-2.0.so.0.2400.0...done.
done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /usr/lib/libdbus-glib-1.so.2...Reading symbols from /usr/lib/debug/usr/lib/libdbus-glib-1.so.2.1.0...done.
done.
Loaded symbols for /usr/lib/libdbus-glib-1.so.2
Reading symbols from /lib/libdbus-1.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libdbus-1.so.3
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libgobject-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgobject-2.0.so.0.2400.0...done.
done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libgthread-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgthread-2.0.so.0.2400.0...done.
done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /lib/libglib-2.0.so.0...Reading symbols from /usr/lib/debug/lib/libglib-2.0.so.0.2400.0...done.
done.
Loaded symbols for /lib/libglib-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/lib/libgdk-x11-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0
Reading symbols from /usr/lib/libpangocairo-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpangocairo-1.0.so.0
Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libXcomposite.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXcomposite.so.1
Reading symbols from /usr/lib/libXdamage.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXdamage.so.1
Reading symbols from /usr/lib/libXfixes.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /usr/lib/libatk-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libatk-1.0.so.0
Reading symbols from /usr/lib/libcairo.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcairo.so.2
Reading symbols from /usr/lib/libgio-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgio-2.0.so.0.2400.0...done.
done.
Loaded symbols for /usr/lib/libgio-2.0.so.0
Reading symbols from /usr/lib/libpangoft2-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/lib/libpango-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpango-1.0.so.0
Reading symbols from /usr/lib/libfreetype.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libfontconfig.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /lib/tls/i686/cmov/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/librt.so.1
Reading symbols from /lib/tls/i686/cmov/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /usr/lib/libORBit-2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libORBit-2.so.0
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /lib/libpcre.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libpcre.so.3
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libXext.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXinerama.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXinerama.so.1
Reading symbols from /usr/lib/libXi.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXi.so.6
Reading symbols from /usr/lib/libXrandr.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXrandr.so.2
Reading symbols from /usr/lib/libXcursor.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/libxcb.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb.so.1
Reading symbols from /usr/lib/libpixman-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpixman-1.so.0
Reading symbols from /usr/lib/libdirectfb-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdirectfb-1.2.so.0
Reading symbols from /usr/lib/libfusion-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfusion-1.2.so.0
Reading symbols from /usr/lib/libdirect-1.2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdirect-1.2.so.0
Reading symbols from /lib/libpng12.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libpng12.so.0
Reading symbols from /usr/lib/libxcb-render-util.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-render-util.so.0
Reading symbols from /usr/lib/libxcb-render.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-render.so.0
Reading symbols from /lib/tls/i686/cmov/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libresolv.so.2
Reading symbols from /lib/libselinux.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /lib/libexpat.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libexpat.so.1
Reading symbols from /usr/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
Reading symbols from /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
Reading symbols from /usr/lib/libcanberra-gtk.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcanberra-gtk.so.0
Reading symbols from /usr/lib/libcanberra.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcanberra.so.0
Reading symbols from /usr/lib/libvorbisfile.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvorbisfile.so.3
Reading symbols from /usr/lib/libvorbis.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvorbis.so.0
Reading symbols from /usr/lib/libogg.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libogg.so.0
Reading symbols from /usr/lib/libtdb.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libtdb.so.1
Reading symbols from /usr/lib/libltdl.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libltdl.so.7
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libxrandr.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libxrandr.so
Reading symbols from /usr/lib/libgnome-desktop-2.so.17...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgnome-desktop-2.so.17
Reading symbols from /usr/lib/libnotify.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libnotify.so.1
Reading symbols from /usr/lib/libappindicator.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libappindicator.so.0
Reading symbols from /usr/lib/libstartup-notification-1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libstartup-notification-1.so.0
Reading symbols from /usr/lib/libindicator.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libindicator.so.0
Reading symbols from /usr/lib/libjson-glib-1.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libjson-glib-1.0.so.0
Reading symbols from /usr/lib/libdbusmenu-gtk.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdbusmenu-gtk.so.1
Reading symbols from /usr/lib/libdbusmenu-glib.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdbusmenu-glib.so.1
Reading symbols from /usr/lib/libxcb-aux.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-aux.so.0
Reading symbols from /usr/lib/libxcb-event.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-event.so.1
Reading symbols from /usr/lib/libxcb-atom.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxcb-atom.so.1
Reading symbols from /usr/lib/libSM.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libxml2.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /lib/libuuid.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libuuid.so.1
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libxsettings.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libxsettings.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libsound.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libsound.so
Reading symbols from /usr/lib/libpulse.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpulse.so.0
Reading symbols from /usr/lib/libXtst.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXtst.so.6
Reading symbols from /usr/lib/libpulsecommon-0.9.21.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpulsecommon-0.9.21.so
Reading symbols from /lib/libwrap.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libwrap.so.0
Reading symbols from /usr/lib/libsndfile.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsndfile.so.1
Reading symbols from /usr/lib/libFLAC.so.8...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libFLAC.so.8
Reading symbols from /usr/lib/libvorbisenc.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvorbisenc.so.2
Reading symbols from /usr/lib/gio/modules/libgvfsdbus.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gio/modules/libgvfsdbus.so
Reading symbols from /usr/lib/libgvfscommon.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgvfscommon.so.0
Reading symbols from /lib/libudev.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libudev.so.0
Reading symbols from /usr/lib/gio/modules/libgioremote-volume-monitor.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gio/modules/libgioremote-volume-monitor.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libkeyboard.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libkeyboard.so
Reading symbols from /usr/lib/libXxf86misc.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libXxf86misc.so.1
Reading symbols from /usr/lib/libgnomekbdui.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgnomekbdui.so.4
Reading symbols from /usr/lib/libgnomekbd.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgnomekbd.so.4
Reading symbols from /usr/lib/libxklavier.so.16...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxklavier.so.16
Reading symbols from /usr/lib/libxkbfile.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libxkbfile.so.1
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/liba11y-keyboard.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/liba11y-keyboard.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libmouse.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libmouse.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libkeybindings.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libkeybindings.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libbackground.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libbackground.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libmedia-keys.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libmedia-keys.so
Reading symbols from /usr/lib/libpulse-mainloop-glib.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpulse-mainloop-glib.so.0
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libclipboard.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libclipboard.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libtyping-break.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libtyping-break.so
Reading symbols from /usr/lib/gnome-settings-daemon-2.0/libhousekeeping.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gnome-settings-daemon-2.0/libhousekeeping.so
Reading symbols from /usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so
Reading symbols from /usr/lib/gtk-2.0/modules/libgail.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/modules/libgail.so
Reading symbols from /usr/lib/libgailutil.so.18...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgailutil.so.18
Reading symbols from /usr/lib/gtk-2.0/modules/libatk-bridge.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/modules/libatk-bridge.so
Reading symbols from /usr/lib/libspi.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libspi.so.0
Reading symbols from /usr/lib/libbonobo-2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libbonobo-2.so.0
Reading symbols from /usr/lib/libbonobo-activation.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libbonobo-activation.so.4
Reading symbols from /usr/lib/libORBitCosNaming-2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libORBitCosNaming-2.so.0
Reading symbols from /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
Reading symbols from /usr/lib/libjpeg.so.62...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libjpeg.so.62
0x00640422 in __kernel_vsyscall ()
(gdb) continue
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00640422 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 1 (Thread 0xb784a720 (LWP 1261))

  • #0 __kernel_vsyscall
  • #1 poll
    from /lib/tls/i686/cmov/libc.so.6
  • #2 ??
    from /usr/lib/libxcb.so.1
  • #3 xcb_wait_for_reply
    from /usr/lib/libxcb.so.1
  • #4 _XReply
    from /usr/lib/libX11.so.6
  • #5 XGetWindowProperty
    from /usr/lib/libX11.so.6
  • #6 xkl_engine_get_window_title
    from /usr/lib/libxklavier.so.16
  • #7 xkl_get_debug_window_title
    from /usr/lib/libxklavier.so.16
  • #8 xkl_engine_process_create_window_evt
    from /usr/lib/libxklavier.so.16
  • #9 xkl_engine_filter_events
    from /usr/lib/libxklavier.so.16
  • #10 ??
    from /usr/lib/gnome-settings-daemon-2.0/libkeyboard.so
  • #11 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #12 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #13 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #14 g_main_dispatch
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 1960
  • #15 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2513
  • #16 g_main_context_iterate
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2591
  • #17 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.24.0/glib/gmain.c line 2799
  • #18 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 main

Comment 16 Jonathan Matthew 2010-05-19 02:19:58 UTC
(In reply to comment #15)
> Hi. I'm affected by this too. Stock ubuntu 10.04 with notify-osd and compiz. A
> symptom I have noticed is that *both* notify-osd and the "normal" gnome volume
> OSD show up in this case (but when rhythmbox is not focused and no hang
> happens, only the notify-osd one appears).

That's odd - I thought Ubuntu patched out the volume OSD.

> Here is the requested trace, I hope I did it properly. Let me know if it helps.

I could have done without all the 'loading symbols for ..' lines, but otherwise that's at least enough to identify where it's blocking.  Thanks.  I'm going to try to reproduce this again now that I know a bit more about it, but in case that doesn't work, output from "strace -t -p `pidof gnome-settings-daemon`" would probably help too, just to make sure it's actually stuck there.
Comment 17 Jean-François Fortin Tam 2010-05-19 11:30:28 UTC
Created attachment 161424 [details]
strace log

Here is the output of the requested strace. I launched the command right after triggering the hang (note that it hangs not only rhythmbox, but also the gnome terminal and pretty much everything that uses g-s-d it seems).
Comment 18 Jonathan Matthew 2010-05-20 00:07:55 UTC
That looks like you straced a new g-s-d rather than the existing one.  It would be better to start the strace command before the hang occurs.
Comment 19 Jean-François Fortin Tam 2010-05-20 14:04:27 UTC
Created attachment 161546 [details]
strace log

New strace, started before triggering the hang and stopped right after it stopped.
Comment 20 Jonathan Matthew 2010-05-21 02:08:09 UTC
Here's the relevant portion:

10:01:00 writev(7, [{"l\1\0\1\260\0\0\0&\0\0\0\233\0\0\0\1\1o\0\36\0\0\0/org/fre"..., 176}, {"\25\0\0\0gnome-settings-daemon\0\0\0\0\0\0\0"..., 176}], 2) = 352
10:01:00 gettimeofday({1274364060, 363013}, NULL) = 0
10:01:00 poll([{fd=7, events=POLLIN}], 1, 25000) = 0 (Timeout)
10:01:25 gettimeofday({1274364085, 376816}, NULL) = 0

Something doesn't quite add up here.  The stack trace suggests it's waiting for a reply from the x server, but fd 7 here appears to be the connection to dbus.
Comment 21 Jonathan Matthew 2010-05-30 12:28:38 UTC
If possible, I think we need another stack trace, preferably with debug symbols for gnome-settings-daemon and gtk at least.

Output from strace with the additional argument '-s 200' might also help.
Comment 22 Bastien Nocera 2010-05-30 14:12:26 UTC
Could be that problem:
https://bugs.freedesktop.org/show_bug.cgi?id=27811

which was causing problems in evolution-data-server, bluetoothd, and some other parts of the system. Would be worth testing.

Or could be a sync return done in the media-keys plugin.
Comment 23 Jean-François Fortin Tam 2010-06-08 20:10:30 UTC
Urgh. As per comment #21, I tried to get a new gdb trace today after installing the gtk dbg packages (there are no dbg packages for gnome settings daemon in ubuntu, it seems), and I couldn't cause it to produce a traceback, even though the symptoms are still the same (rhythmbox + gnome-terminal "freezing", and the gnome volume OSD appearing at the same time as the notify-OSD one). 

The last part of the symptoms (two notifications instead of one) leaves me wondering if it's the same problem.
Comment 24 Jonathan Matthew 2010-06-08 22:35:58 UTC
The g-s-d stack trace probably isn't necessary if you can provide the strace output I asked for in comment 22, or some of the information I'm about to ask for now..

Looking back at the dbus-monitor output in comment 11, I see this pair of messages:

mc    1272169748    781930    5207    :1.12    /org/freedesktop/Notifications  
 org.freedesktop.Notifications    Notify
  ...
mr    1272169773    816510    10354    5207    :1.12

which are before/after the GrabMediaKeys request.  This suggests that notify-osd might be blocking on something.  strace for that would probably help, as would more 'dbus-monitor --session --profile' output.  There's something weird about the ordering of the messages there.


If I add any more synchronous DBus calls in the future, would someone please shoot me?
Comment 25 Jean-François Fortin Tam 2010-06-27 15:23:17 UTC
Created attachment 164749 [details]
strace -s 200

As requested in comment #21
Comment 26 Jean-François Fortin Tam 2010-06-27 15:24:04 UTC
Created attachment 164750 [details]
dbus-monitor --session --profile

As requested in comment #24
Comment 27 Jonathan Matthew 2010-06-27 23:04:49 UTC
OK, that seems to confirm that g-s-d is blocking on notify-osd.  At this point I think you should file a bug against notify-osd, preferably with a stack trace from it and the dbus-monitor output above.

Another problem here is that libnotify uses synchronous dbus calls, but I'm guessing the solution to that will be a gdbus based notification client in gtk+3 rather than a change to libnotify.
Comment 28 Jean-François Fortin Tam 2010-07-14 02:53:53 UTC
Yes, I'm back :)

I tested removing notify-osd today and installing notification-daemon in its place, so that only the standard gnome volume OSD is used... and rhythmbox is still affected (it even crashed once, but I couldn't reproduce it all the time). So I'm not certain notify-osd is always the culprit, and I'm still wondeing why this doesn't happen with apps other than Rhythmbox (ie: "it works in totem!")...
Comment 29 Jonathan Matthew 2010-07-14 03:15:29 UTC
What version of rhythmbox are you using?
Comment 30 Jean-François Fortin Tam 2010-07-14 11:25:54 UTC
0.12.8-0ubuntu7
Comment 31 Jonathan Matthew 2010-07-14 12:09:02 UTC
The rhythmbox portion of this bug was fixed in 0.13.0.  Anything that remains is in g-s-d or something else that it's talking to.
Comment 32 Jean-François Fortin Tam 2010-07-15 11:31:03 UTC
I installed 0.13.0 today and indeed, I can confirm this problem as solved. It just wasn't made clear enough so I thought the issue was still pending (FIXED instead of NOTGNOME helps :)

Thanks for your patience and all the fixes!