GNOME Bugzilla – Bug 119222
Rhythmbox fails if GNOME sound events are enabled
Last modified: 2004-12-22 21:47:04 UTC
When I'm playing an mp3 or ogg, if I pause it and then unpause it, rhythmbox freezes. Here's the backtrace: Program received signal SIGINT, Interrupt. [Switching to Thread 49156 (LWP 28607)] 0x40c76ad2 in sigsuspend () from /lib/libc.so.6 (gdb) thread apply all bt
+ Trace 39390
Thread 5 (Thread 49156 (LWP 28607))
Thread 1 (Thread 16384 (LWP 28603))
If you turn off the GNOME sound events, can you still reproduce this crash?
Rhythmbox now errors out on startup if sound events are disabled. This is the best I can do for now, sorry.
Why not disable sound events when rb starts up and enable them (if they were disabled) when rb shuts down?
Is this only the case when using gstreamer with the esd sink? If so, shouldn't rhythmbox only die when gstreamer's using the esd sink?
Just for future people reading this bug - the problem is that gnome sounds use esd. If you're also using the gst esdsink, things go very wrong quite fast because there are two threads trying to access libesd, and libesd isn't reentrant.
I've posted a libgnomeui bug: http://bugzilla.gnome.org/show_bug.cgi?id=120093
The gnome libraries provide a "--disable-sound" command line option that turns off event sounds for a program. Rhythmbox could modify the command line it passes to gnome_program_init to always add that option to argv. I'll attach a patch that does exactly that. It's a bit of a kludge, but it seems to work for me, and it seems better that just quitting. The patch was made against 0.5.3.
Created attachment 20795 [details] [review] Patch to add "--disable-sound" to the command line arguments passed to gnome_program_init
*** Bug 139044 has been marked as a duplicate of this bug. ***
Walters, what about this --disable-sound patch ?
Wow, I don't know how I missed this patch. Thanks Miguel! I've applied it: * committed rhythmbox-devel@gnome.org--2004/rhythmbox--main--0.7--patch-233
I tried backporting the fix to rhythmbox 0.7.2, and it doesn't quite work. Rhythmbox starts with this error (rhythmbox:3394): GLib-GObject-WARNING **: g_object_set_property: construct property "enable-sound" for object `GnomeProgram' can't be set after construction and it will play the tracks fine, however, as soon as you pause a track, and then try and hit play, rhythmbox freezes, and needs to be killed. If I disable the sound events, it works fine.
Matt, I assume you are using gtk 2.4 ? This looks like a bug in GnomeProgram (probably parts of libgnome/libgnomeui)
Yeah, I fixed this upstream a few days ago.
Yep, I'm still using gtk 2.4. I'll try getting a newer version of libgnome.