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 119222 - Rhythmbox fails if GNOME sound events are enabled
Rhythmbox fails if GNOME sound events are enabled
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Monkey Media
unspecified
Other Linux
: High major
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 139044 (view as bug list)
Depends on: 120093
Blocks:
 
 
Reported: 2003-08-06 00:56 UTC by Bryan Forbes
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to add "--disable-sound" to the command line arguments passed to gnome_program_init (3.21 KB, patch)
2003-10-19 14:31 UTC, Miguel Coca
none Details | Review

Description Bryan Forbes 2003-08-06 00:56:36 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

Thread 5 (Thread 49156 (LWP 28607))

  • #0 sigsuspend
    from /lib/libc.so.6
  • #1 __pthread_wait_for_restart_signal
    from /lib/libpthread.so.0
  • #2 pthread_cond_wait
    from /lib/libpthread.so.0
  • #3 gst_thread_main_loop
    at gstthread.c line 722
  • #4 g_thread_create_proxy
    at gthread.c line 551
  • #5 pthread_start_thread
    from /lib/libpthread.so.0
  • #6 pthread_start_thread_event
    from /lib/libpthread.so.0
  • #7 ??

Thread 1 (Thread 16384 (LWP 28603))

  • #0 read
    from /lib/libc.so.6
  • #1 __JCR_LIST__
    from /lib/libpthread.so.0
  • #2 read
    from /lib/libpthread.so.0
  • #3 esd_sample_play
    at esdlib.c line 1414
  • #4 gnome_triggers_play_sound
    at gnome-triggers.c line 434
  • #5 gnome_triggers_vdo
    at gnome-triggers.c line 465
  • #6 relay_gtk_signal
    at gnome-ui-init.c line 403
  • #7 signal_emit_unlocked_R
    at gsignal.c line 2788
  • #8 g_signal_emit_valist
    at gsignal.c line 2554
  • #9 g_signal_emit
    at gsignal.c line 2612
  • #10 gtk_button_clicked
    at gtkbutton.c line 555
  • #11 gtk_real_button_released
    at gtkbutton.c line 1044
  • #12 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #13 g_type_class_meta_marshal
    at gclosure.c line 514
  • #14 g_closure_invoke
    at gclosure.c line 437
  • #15 signal_emit_unlocked_R
    at gsignal.c line 2752
  • #16 g_signal_emit_valist
    at gsignal.c line 2554
  • #17 g_signal_emit
    at gsignal.c line 2612
  • #18 gtk_button_released
    at gtkbutton.c line 547
  • #19 gtk_button_button_release
    at gtkbutton.c line 960
  • #20 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #21 g_type_class_meta_marshal
    at gclosure.c line 514
  • #22 g_closure_invoke
    at gclosure.c line 437
  • #23 signal_emit_unlocked_R
    at gsignal.c line 2860
  • #24 g_signal_emit_valist
    at gsignal.c line 2564
  • #25 g_signal_emit
    at gsignal.c line 2612
  • #26 gtk_widget_event_internal
    at gtkwidget.c line 3269
  • #27 gtk_propagate_event
    at gtkmain.c line 2268
  • #28 gtk_main_do_event
    at gtkmain.c line 1503
  • #29 gdk_event_dispatch
    at gdkevents-x11.c line 2064
  • #30 g_main_dispatch
    at gmain.c line 1721
  • #31 g_main_context_dispatch
    at gmain.c line 2269
  • #32 g_main_context_iterate
    at gmain.c line 2350
  • #33 g_main_loop_run
    at gmain.c line 2570
  • #34 bonobo_main
    at bonobo-main.c line 294
  • #35 main
    at main.c line 149
  • #0 sigsuspend
    from /lib/libc.so.6

Comment 1 Colin Walters 2003-08-06 02:34:17 UTC
If you turn off the GNOME sound events, can you still reproduce this
crash?
Comment 2 Colin Walters 2003-08-06 04:49:01 UTC
Rhythmbox now errors out on startup if sound events are disabled. 
This is the best I can do for now, sorry.
Comment 3 Bryan Forbes 2003-08-06 05:32:39 UTC
Why not disable sound events when rb starts up and enable them (if
they were disabled) when rb shuts down?
Comment 4 Jeremy Nickurak 2003-08-08 04:25:51 UTC
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?
Comment 5 Colin Walters 2003-08-13 15:32:51 UTC
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.
Comment 6 Colin Walters 2003-08-17 19:54:34 UTC
I've posted a libgnomeui bug:

http://bugzilla.gnome.org/show_bug.cgi?id=120093
Comment 7 Miguel Coca 2003-10-19 14:30:30 UTC
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.
Comment 8 Miguel Coca 2003-10-19 14:31:47 UTC
Created attachment 20795 [details] [review]
Patch to add "--disable-sound" to the command line arguments passed to gnome_program_init
Comment 9 Colin Walters 2004-04-13 03:47:56 UTC
*** Bug 139044 has been marked as a duplicate of this bug. ***
Comment 10 Christophe Fergeau 2004-04-13 10:51:29 UTC
Walters, what about this --disable-sound patch ?
Comment 11 Colin Walters 2004-04-13 13:19:03 UTC
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
Comment 12 Matt Rose 2004-04-16 17:30:50 UTC
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.
Comment 13 Christophe Fergeau 2004-04-16 18:25:53 UTC
Matt, I assume you are using gtk 2.4 ? This looks like a bug in GnomeProgram
(probably parts of libgnome/libgnomeui)
Comment 14 Colin Walters 2004-04-16 21:23:12 UTC
Yeah, I fixed this upstream a few days ago.
Comment 15 Matt Rose 2004-04-19 16:14:11 UTC
Yep, I'm still using gtk 2.4.  I'll try getting a newer version of libgnome.