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 561263 - Deadlock in crossfade back-end
Deadlock in crossfade back-end
Status: RESOLVED DUPLICATE of bug 553230
Product: rhythmbox
Classification: Other
Component: playback
0.11.x
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-11-17 19:00 UTC by freggy1
Modified: 2008-11-17 23:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rhythmbox -d output (87.14 KB, application/x-lzma)
2008-11-17 19:03 UTC, freggy1
Details

Description freggy1 2008-11-17 19:00:59 UTC
I discovered a new deadlock in the crossfade back-end, exposed by GNOME 2.24.1.

$ strace -p 2521
Process 2521 attached - interrupt to quit
futex(0x13f60a8, FUTEX_WAIT_PRIVATE, 2, NULLq


Thread 1 (Thread 0x7ff5693b4710 (LWP 2521))

  • #0 __lll_lock_wait
    from /lib64/libpthread.so.0
  • #1 _L_lock_100
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 IA__g_static_rec_mutex_lock
    at gthread.c line 313
  • #4 rb_player_gst_xfade_play
    at rb-player-gst-xfade.c line 3226
  • #5 rb_shell_player_set_playing_entry
    at rb-shell-player.c line 1617
  • #6 rb_shell_player_entry_activated_cb
    at rb-shell-player.c line 2775
  • #7 IA__g_closure_invoke
    at gclosure.c line 767
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #9 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #10 IA__g_signal_emit
    at gsignal.c line 3034
  • #11 rb_entry_view_row_activated_cb
    at rb-entry-view.c line 2075
  • #12 IA__g_closure_invoke
    at gclosure.c line 767
  • #13 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #15 IA__g_signal_emit
    at gsignal.c line 3034
  • #16 gtk_tree_view_button_press
    at gtktreeview.c line 2827
  • #17 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #18 IA__g_closure_invoke
    at gclosure.c line 767
  • #19 signal_emit_unlocked_R
    at gsignal.c line 3282
  • #20 IA__g_signal_emit_valist
    at gsignal.c line 2987
  • #21 IA__g_signal_emit
    at gsignal.c line 3034
  • #22 gtk_widget_event_internal
    at gtkwidget.c line 4745
  • #23 IA__gtk_propagate_event
    at gtkmain.c line 2391
  • #24 rb_tree_dnd_button_release_event_cb
    at rb-tree-dnd.c line 387
  • #25 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #26 IA__g_closure_invoke
    at gclosure.c line 767
  • #27 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #28 IA__g_signal_emit_valist
    at gsignal.c line 2987
  • #29 IA__g_signal_emit
    at gsignal.c line 3034
  • #30 gtk_widget_event_internal
    at gtkwidget.c line 4745
  • #31 IA__gtk_propagate_event
    at gtkmain.c line 2391
  • #32 IA__gtk_main_do_event
    at gtkmain.c line 1596
  • #33 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #34 IA__g_main_context_dispatch
    at gmain.c line 2144
  • #35 g_main_context_iterate
    at gmain.c line 2778
  • #36 IA__g_main_loop_run
    at gmain.c line 2986
  • #37 IA__gtk_main
    at gtkmain.c line 1200
  • #38 main
    at main.c line 335

rhythmbox -d output contains this:
(19:56:01) [0x2424040] [apply_slider_position] rb-header.c:689: setting time to 165
(19:56:01) [0x2424040] [rb_player_gst_xfade_set_time] rb-player-gst-xfade.c:3553: unlinking playing stream file:///mnt/Music/David%20Morales/2%20Worlds%20Collide/09.%20David%20Morales%20with%20LeaLori%C3%A9n%20-%20Lifted.ogg to seek to 165000000000
(19:56:01) [0x2424040] [rb_shell_player_slider_dragging_cb] rb-shell-player.c:915: slider dragging? 0
(19:56:01) [0x3e55070] [unlink_blocked_cb] rb-player-gst-xfade.c:1256: stream file:///mnt/Music/David%20Morales/2%20Worlds%20Collide/09.%20David%20Morales%20with%20LeaLori%C3%A9n%20-%20Lifted.ogg is blocked; unlinking
(19:56:01) [0x3e55070] [unlink_blocked_cb] rb-player-gst-xfade.c:1264: 0 linked streams left
(19:56:01) [0x3f13a10] [unlink_blocked_cb] rb-player-gst-xfade.c:1256: stream file:///mnt/Music/David%20Morales/2%20Worlds%20Collide/09.%20David%20Morales%20with%20LeaLori%C3%A9n%20-%20Lifted.ogg is blocked; unlinking

(rhythmbox:12211): Rhythmbox-WARNING **: Couldn't unlink stream file:///mnt/Music/David%20Morales/2%20Worlds%20Collide/09.%20David%20Morales%20with%20LeaLori%C3%A9n%20-%20Lifted.ogg: things will probably go quite badly from here on
(19:56:01) [0x3e55070] [perform_seek] rb-player-gst-xfade.c:1201: sending seek event..
(19:56:01) [0x2424040] [get_times_and_stream] rb-player-gst-xfade.c:2533: not playing
(19:56:02) [0x2424040] [inhibit] rb-power-manager-plugin.c:193: Was going to inhibit gnome-power-manager, but we already have done
(19:56:02) [0x2424040] [slider_moved_callback] rb-header.c:659: slider is not dragging
(19:56:02) [0x2424040] [slider_moved_callback] rb-header.c:659: slider is not dragging
(19:56:02) [0x2424040] [slider_moved_callback] rb-header.c:659: slider is not dragging
(19:56:02) [0x2424040] [get_times_and_stream] rb-player-gst-xfade.c:2533: not playing
Comment 1 freggy1 2008-11-17 19:03:28 UTC
Created attachment 122874 [details]
rhythmbox -d output

This problem appeared probably since the upgrade of gstreamer 0.10.20 to 0.10.21
Comment 2 Jonathan Matthew 2008-11-17 23:31:02 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.


*** This bug has been marked as a duplicate of 553230 ***