[Bug 800963] New: xfce freeze when audio volume button is shifted
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c0 Summary: xfce freeze when audio volume button is shifted Classification: openSUSE Product: openSUSE Factory Version: 12.3 Beta 1 Platform: Other OS/Version: Other Status: NEW Severity: Critical Priority: P5 - None Component: Xfce AssignedTo: bnc-team-xfce@forge.provo.novell.com ReportedBy: andreas.roehler@online.de QAContact: qa-bugs@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux i686; rv:18.0) Gecko/20100101 Firefox/18.0 when trying to change the audio volume from button in task bar, xfce becomes unresponsive Reproducible: Always Steps to Reproduce: 1. see above 2. 3. Actual Results: s.o. Expected Results: s.o. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c1 --- Comment #1 from Guido Berhörster <gber@opensuse.org> 2013-01-29 11:16:37 UTC --- Known problem, seems to be related to gstreamer but I haven't investigated further, yet. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c2 Guido Berhörster <gber@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Critical |Major --- Comment #2 from Guido Berhörster <gber@opensuse.org> 2013-01-29 11:57:22 UTC --- So the problem seems to be that both /usr/lib64/libgstreamer-1.0.so.0 and /usr/lib64/libgstreamer-0.10.so.0 are loaded when the mixer plugin is loaded, although I can't see anything directly or indirectly linked against /usr/lib64/libgstreamer-1.0.so.0. BTW, there is no freeze, you can break the grab by switching to a console and killing the plugin. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c3 Guido Berhörster <gber@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gber@opensuse.org Component|Xfce |GNOME AssignedTo|bnc-team-xfce@forge.provo.n |bnc-team-gnome@forge.provo. |ovell.com |novell.com --- Comment #3 from Guido Berhörster <gber@opensuse.org> 2013-01-29 12:46:51 UTC --- After tracking this down it turns out that libcanberra is at fault here, the libcanberra gtk module is loaded by default which directly or indirectly dlopen's /usr/lib64/libcanberra-0.30/libcanberra-gstreamer.so which in turn is linked to /usr/lib64/libgstreamer-1.0.so.0. So basically every GTK application which links against libgstreamer-0.10 will blow up because the libcanberra gtk module brings libgstreamer-1.0 into the same process space. Reassigning this to the libcanberra/gtk maintainers, since I can't do anything about it in xfce4-mixer. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c4 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dimstar@opensuse.org --- Comment #4 from Dominique Leuenberger <dimstar@opensuse.org> 2013-01-29 12:58:57 UTC --- Two solutions: - Don't link gstreamer into xfce-mixer (why would the mixer need this anyway?) - Port xfce-mixer to GStreamer 1.0 (in most cases the port is rather simple) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c5 --- Comment #5 from Dominique Leuenberger <dimstar@opensuse.org> 2013-01-29 13:00:22 UTC --- for reference, the Port to GST 1.0 howto: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/random/porting-to-... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c6 --- Comment #6 from Guido Berhörster <gber@opensuse.org> 2013-01-29 13:13:04 UTC --- (In reply to comment #4)
Two solutions:
- Don't link gstreamer into xfce-mixer (why would the mixer need this anyway?)
It is build on the GstMixer API which is a cross-platform abstraction of different audio mixer interfaces.
- Port xfce-mixer to GStreamer 1.0 (in most cases the port is rather simple)
Upstream was so nice to remove the above API without warning before the 1.0 release (http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/gst-libs/gst?i...) so that is simply impossible. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c7 --- Comment #7 from Dominique Leuenberger <dimstar@opensuse.org> 2013-01-29 13:45:44 UTC --- Errr... 'impossible to port to GSTreamer 1.0'... well, if we switch libcanberre to gst 0.10, all the other apps will break.. GST 0.10 is no longer maintained, so that sounds like a terrible trade off. As such, the best thing for now is likely to modify /etc/X11/xinit/xinitrc.d/libcanberra-gtk-module.sh and not have canberra-gtk-module added to GTK_MODULES. This though should ONLY happen on XFCE imho (what's the best way to identify if the session running is XFCE?) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |gber@opensuse.org -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c8 --- Comment #8 from Guido Berhörster <gber@opensuse.org> 2013-01-29 14:59:54 UTC --- (In reply to comment #7)
Errr...
'impossible to port to GSTreamer 1.0'...
well, if we switch libcanberre to gst 0.10, all the other apps will break.. GST 0.10 is no longer maintained, so that sounds like a terrible trade off.
As such, the best thing for now is likely to modify /etc/X11/xinit/xinitrc.d/libcanberra-gtk-module.sh
and not have canberra-gtk-module added to GTK_MODULES.
This though should ONLY happen on XFCE imho (what's the best way to identify if the session running is XFCE?)
There isn't really, when /etc/X11/xinit/xinitrc.d/ gets called xfce4-session isn't running yet and environment variables like GDMSESSION or DESKTOP_SESSION are only set by GDM and LightDM. You can e.g. also run xfce4-mixer in LXDE or with Openbox so this doesn't look like a viable solution. This problem is not also specific to the xfce4-mixer panel plugin, it affects any application linking to both GTK and libgstreamer-0.10 which are probably a lot. Only on my Factory Xfce installation this affects firefox, shotwell, and rhythmbox which all have libgstreamer-1.0 and libgstreamer-0.10 in the same process space and libgstreamer does not use symbol versioning. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c Guido Berhörster <gber@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|gber@opensuse.org | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c9 --- Comment #9 from Guido Berhörster <gber@opensuse.org> 2013-02-01 12:28:58 UTC --- So I looked at a current Factory tree, the following packages suffer from the exact same issue being linked to both gstreamer versions via libcanberra-gtk-module: alarm-clock-applet-0.3.3-3.5:/usr/bin/alarm-clock-applet audio-recorder-0.9.1-3.5:/usr/bin/audio-recorder byzanz-0.2.3-14.5:/usr/bin/byzanz-record byzanz-0.2.3-14.5:/usr/bin/byzanz-playback byzanz-0.2.3-14.5:/usr/lib/byzanz-applet fillmore-0.1.0_git20110905-7.6:/usr/bin/fillmore gcompris-12.11-1.1:/usr/bin/gcompris gnac-0.2.4.1-3.12:/usr/bin/gnac gnome-gmail-notifier-0.10.1-15.5:/usr/bin/gnome-gmail-notifier goobox-3.1.1-1.1:/usr/bin/goobox gthumb-3.1.2-2.1:/usr/bin/gthumb gthumb-3.1.2-2.1:/usr/lib/gthumb/extensions/libslideshow.so gthumb-3.1.2-2.1:/usr/lib/gthumb/extensions/libgstreamer_tools.so gtkpod-2.1.3-1.1:/usr/bin/gtkpod gtkpod-2.1.3-1.1:/usr/lib/gtkpod/libmedia_player.so gtkpod-2.1.3-1.1:/usr/lib/gtkpod/libsjcd.so ignuit-2.20.0-7.5:/usr/bin/ignuit libgnome-media-profiles-3_0-0-3.0.0-8.5:/usr/lib/libgnome-media-profiles-3.0.so.0.0.0 libwx_gtk2_media-2_8-0-wxcontainer-2.8.12-16.2:/usr/lib/wx-2.8-wxcontainer/libwx_gtk2_media-2.8.so.0.8.0 libwx_gtk2_media-2_9-4-wxcontainer-2.9.4-1.2:/usr/lib/wx-2.9-wxcontainer/libwx_gtk2_media-2.9.so.4.0.0 libwx_gtk2u_media-2_8-0-stl-2.8.12-16.2:/usr/lib/wx-2.8-stl/libwx_gtk2u_media-2.8.so.0.8.0 libwx_gtk2u_media-2_8-0-wxcontainer24c-2.8.12-16.2:/usr/lib/wx-2.8-wxcontainer24c/libwx_gtk2u_media-2.8.so.0.8.0 libwx_gtk2u_media-2_8-0-wxcontainer-2.8.12-16.2:/usr/lib/wx-2.8-wxcontainer/libwx_gtk2u_media-2.8.so.0.8.0 libwx_gtk2u_media-2_9-4-stl-2.9.4-1.2:/usr/lib/wx-2.9-stl/libwx_gtk2u_media-2.9.so.4.0.0 libwx_gtk2u_media-2_9-4-wxcontainer24c-2.9.4-1.2:/usr/lib/wx-2.9-wxcontainer24c/libwx_gtk2u_media-2.9.so.4.0.0 libwx_gtk2u_media-2_9-4-wxcontainer-2.9.4-1.2:/usr/lib/wx-2.9-wxcontainer/libwx_gtk2u_media-2.9.so.4.0.0 lombard-0.1.0_git20110905-7.6:/usr/bin/lombard MozillaFirefox-18.0.1-1.1:/usr/lib/firefox/libxul.so parole-0.4.0-1.1:/usr/bin/parole pidgin-2.10.6-3.3:/usr/bin/pidgin pragha-1.1.1-1.5:/usr/bin/pragha rhythmbox-2.98-2.2:/usr/lib/rhythmbox/plugins/daap/libdaap.so rhythmbox-2.98-2.2:/usr/lib/rhythmbox/plugins/mtpdevice/libmtpdevice.so rhythmbox-2.98-2.2:/usr/lib/rhythmbox/plugins/fmradio/libfmradio.so rhythmbox-2.98-2.2:/usr/lib/rhythmbox/plugins/audiocd/libaudiocd.so rhythmbox-2.98-2.2:/usr/lib/librhythmbox-core.so.6.0.0 seamonkey-2.15-1.1:/usr/lib/seamonkey/libxul.so shotwell-0.13.1-1.3:/usr/bin/shotwell xfburn-0.4.3-20.6:/usr/bin/xfburn xfce4-mixer-4.10.0-3.1:/usr/bin/xfce4-mixer xfce4-panel-plugin-mixer-4.10.0-3.1:/usr/lib/xfce4/panel/plugins/libmixer.so xfce4-volumed-0.1.13-10.5:/usr/bin/xfce4-volumed This is just to illustrate the dimension, there is likely more through library dependency chains and dlopened libs, it seems that e.g. KDE still uses gstreamer 0.10 only. There is outright broken stuff like e.g. librygel-server-1_0-0-0.16.4-1.1:/usr/lib/librygel-server-1.0.so.0 which is directly liked to both versions. I don't have a good idea how to address this, the whole mess is caused by upstream not using symbol versioning. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c10 --- Comment #10 from Guido Berhörster <gber@opensuse.org> 2013-02-05 15:08:19 UTC --- So how do we proceed with this? Even without the libcanberra-gtk-module this seems like a potential problem and it is hard to track down since one would have to analyze full library dependency trees including those dynamically loaded at runtime. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c11 Frederic Crozat <fcrozat@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fcrozat@suse.com --- Comment #11 from Frederic Crozat <fcrozat@suse.com> 2013-02-06 15:23:27 UTC --- It would be much better to just drop gstreamer backend in libcanberra. It already supports Pulseaudio and Alsa and Fedora has disabled gstreamer backend in their package for almost one year, without any issue. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c12 --- Comment #12 from Guido Berhörster <gber@opensuse.org> 2013-02-06 15:37:46 UTC --- (In reply to comment #11)
It would be much better to just drop gstreamer backend in libcanberra. It already supports Pulseaudio and Alsa and Fedora has disabled gstreamer backend in their package for almost one year, without any issue.
Will it select the backend at runtime based on what is available? This could probably also solve the issue with Firefox noted on the factory list which uses libcanberra directly. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c13 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |andreas.roehler@online.de --- Comment #13 from Dominique Leuenberger <dimstar@opensuse.org> 2013-02-06 15:46:27 UTC --- Canberra tries to load the respective modules... Quick test: Delete /usr/lib(64)?/libcanberra-0.30/libcanberra-gstreamer.so (thus invalidating the gstreamer option.. the backends are dlopen()-ed. Better test: Get the cnaberra packages from http://download.opensuse.org/repositories/home:/dimstar:/branches:/GNOME:/Fa... (I'm planning to submit those... if ok) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c14 --- Comment #14 from Frederic Crozat <fcrozat@suse.com> 2013-02-06 15:51:42 UTC --- (In reply to comment #12)
Will it select the backend at runtime based on what is available? This could probably also solve the issue with Firefox noted on the factory list which uses libcanberra directly.
Yes, libcanberra will try the various various, in the following order : #ifdef HAVE_PULSE "pulse", #endif #ifdef HAVE_ALSA "alsa", #endif #ifdef HAVE_OSS "oss", #endif #ifdef HAVE_GSTREAMER "gstreamer", #endif so, in our case, gstreamer was probably never case (we build libcanberra with pulse and alsa backend and not oss one). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c15 Guido Berhörster <gber@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|andreas.roehler@online.de | --- Comment #15 from Guido Berhörster <gber@opensuse.org> 2013-02-06 16:14:53 UTC --- (In reply to comment #14)
(In reply to comment #12)
Will it select the backend at runtime based on what is available? This could probably also solve the issue with Firefox noted on the factory list which uses libcanberra directly.
Yes, libcanberra will try the various various, in the following order : #ifdef HAVE_PULSE "pulse", #endif #ifdef HAVE_ALSA "alsa", #endif #ifdef HAVE_OSS "oss", #endif #ifdef HAVE_GSTREAMER "gstreamer", #endif
so, in our case, gstreamer was probably never case (we build libcanberra with pulse and alsa backend and not oss one).
I just checked with a VM containing the Xfce default install, at least the GTK module will load all backends by default: $ leafpad & $ awk '/asound|gstreamer|canberra/ { print $6 }' /proc/$(pidof leafpad)/maps | sort | uniq /usr/lib64/gtk-2.0/modules/libcanberra-gtk-module.so /usr/lib64/libasound.so.2.0.0 /usr/lib64/libcanberra-0.30/libcanberra-alsa.so /usr/lib64/libcanberra-0.30/libcanberra-gstreamer.so /usr/lib64/libcanberra-0.30/libcanberra-multi.so /usr/lib64/libcanberra-0.30/libcanberra-oss.so /usr/lib64/libcanberra-gtk.so.0.1.9 /usr/lib64/libcanberra.so.0.2.5 /usr/lib64/libgstreamer-1.0.so.0.5.0 $ kill $! ... $ unset GTK_MODULES $ leafpad & $ awk '/asound|gstreamer|canberra/ { print $6 }' /proc/$(pidof leafpad)/maps | sort | uniq $ -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c16 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |andreas.roehler@online.de --- Comment #16 from Dominique Leuenberger <dimstar@opensuse.org> 2013-02-06 16:22:47 UTC --- The NEEDINFO is not cleared: Canberra tries to load the respective modules... Quick test: Delete /usr/lib(64)?/libcanberra-0.30/libcanberra-gstreamer.so (thus invalidating the gstreamer option.. the backends are dlopen()-ed. Better test: Get the cnaberra packages from http://download.opensuse.org/repositories/home:/dimstar:/branches:/GNOME:/Fa... (I'm planning to submit those... if ok) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c17 Guido Berhörster <gber@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|andreas.roehler@online.de | --- Comment #17 from Guido Berhörster <gber@opensuse.org> 2013-02-06 18:38:27 UTC --- (In reply to comment #16)
The NEEDINFO is not cleared:
Canberra tries to load the respective modules...
[...]
Better test: Get the cnaberra packages from http://download.opensuse.org/repositories/home:/dimstar:/branches:/GNOME:/Fa... (I'm planning to submit those... if ok)
These packages work fine, sound notifications in Firefox also work. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=800963 https://bugzilla.novell.com/show_bug.cgi?id=800963#c18 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #18 from Dominique Leuenberger <dimstar@opensuse.org> 2013-02-08 23:53:57 UTC --- This fix was checked in to Factory and 12.3... Looks like one down.. many more to go. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com