Bug 519742

Summary: hangs occasionally at track change
Product: [Fedora] Fedora Reporter: Bill Nottingham <notting>
Component: rhythmboxAssignee: Bastien Nocera <bnocera>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: bnocera, bugs.michael, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-20 16:25:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Bill Nottingham 2009-08-27 16:00:22 UTC
Description of problem:

rhythmbox hangs occasionally while playing.

#0  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136	2:	movl	%edx, %eax
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007f540adac095 in _L_lock_947 () from /lib64/libpthread.so.0
#2  0x00007f540adabeb8 in __pthread_mutex_lock (mutex=0x1854600)
    at pthread_mutex_lock.c:61
#3  0x00007f53eabd96c9 in gst_play_sink_get_volume (playsink=0x16cc6c0)
    at gstplaysink.c:578
#4  0x00007f53eabd7f9c in gst_play_bin_get_property (object=0x1853a70, 
    prop_id=<value optimized out>, value=0x7fff5a8e0fb0, pspec=0x177d2a0)
    at gstplaybin2.c:1747
#5  0x00007f5407dbe249 in object_get_property (value=<value optimized out>, 
    pspec=<value optimized out>, object=<value optimized out>) at gobject.c:904
#6  IA__g_object_get_valist (value=<value optimized out>, pspec=<value optimized out>, 
    object=<value optimized out>) at gobject.c:1498
#7  0x00007f5407dbe554 in IA__g_object_get (_object=0x1853a70, 
    first_property_name=0x7f540c6c1800 "volume") at gobject.c:1588
#8  0x00007f540c69c0fd in volume_notify_cb (element=0x1854600, 
    prop_object=<value optimized out>, pspec=<value optimized out>, player=0xceac20)
    at rb-player-gst.c:166
#9  0x00007f5407db9b4e in IA__g_closure_invoke (closure=0x18525b0, return_value=0x0, 
    n_param_values=3, param_values=0x198e5e0, invocation_hint=0x7fff5a8e1260)
    at gclosure.c:767
#10 0x00007f5407dcfd16 in signal_emit_unlocked_R (node=0xa95ed0, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at gsignal.c:3247
#11 0x00007f5407dd113e in IA__g_signal_emit_valist (instance=0x1853a70, 
    signal_id=<value optimized out>, detail=550, var_args=0x7fff5a8e1450)
    at gsignal.c:2980
#12 0x00007f5407dd16b3 in IA__g_signal_emit (instance=0x1854600, signal_id=128, 
    detail=4294865576) at gsignal.c:3037
#13 0x00007f5408021197 in gst_object_dispatch_properties_changed (
#14 0x00007f5407dbefb1 in g_object_notify_queue_thaw (nqueue=<value optimized out>, 
    object=<value optimized out>) at gobjectnotifyqueue.c:125
---Type <return> to continue, or q <return> to quit---
#15 IA__g_object_set_valist (nqueue=<value optimized out>, 
    object=<value optimized out>) at gobject.c:1437
#16 0x00007f5407dbf134 in IA__g_object_set (_object=0x7f53b002ba00, 
    first_property_name=0x7f53eabf36e2 "volume") at gobject.c:1537
#17 0x00007f53eabda1cc in gst_play_sink_set_volume (playsink=0x16cc6c0, 
    volume=7.7468171457786707e-304) at gstplaysink.c:564
#18 0x00007f5407dbeb6e in object_set_property (nqueue=<value optimized out>, 
    value=<value optimized out>, pspec=<value optimized out>, 
    object=<value optimized out>) at gobject.c:942
#19 IA__g_object_set_valist (nqueue=<value optimized out>, 
    value=<value optimized out>, pspec=<value optimized out>, 
    object=<value optimized out>) at gobject.c:1431
#20 0x00007f5407dbf134 in IA__g_object_set (_object=0x1853a70, 
    first_property_name=0x7f540c6c1800 "volume") at gobject.c:1537
#21 0x000000000042a608 in rb_shell_player_set_playing_entry (player=0xd4c0a0, 
    entry=0x7f53f4194530, out_of_order=<value optimized out>, 
    wait_for_eos=<value optimized out>, error=0x0) at rb-shell-player.c:1680
#22 0x000000000042d0f1 in rb_shell_player_do_next_internal (player=0xd4c0a0, 
    from_eos=0, allow_stop=<value optimized out>, error=0x0) at rb-shell-player.c:2130
#23 0x00007f53eca002e4 in media_player_key_pressed (proxy=<value optimized out>, 
    application=<value optimized out>, key=<value optimized out>, plugin=0x16e0300)
    at rb-mmkeys-plugin.c:117
#24 0x00007f540b84ac7f in marshal_dbus_message_to_g_marshaller (
    closure=<value optimized out>, return_value=0x0, 
    n_param_values=<value optimized out>, param_values=<value optimized out>, 
    invocation_hint=0x7fff5a8e1df0, marshal_data=0x0) at dbus-gproxy.c:1681
#25 0x00007f5407db9b4e in IA__g_closure_invoke (closure=0xcbd9b0, return_value=0x0, 
    n_param_values=3, param_values=0x7f53dc02f320, invocation_hint=0x7fff5a8e1df0)
    at gclosure.c:767
#26 0x00007f5407dcfd16 in signal_emit_unlocked_R (node=0xc7f890, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at gsignal.c:3247
#27 0x00007f5407dd113e in IA__g_signal_emit_valist (instance=0xd2e1c0, 
    signal_id=<value optimized out>, detail=3271, var_args=0x7fff5a8e1fe0)
    at gsignal.c:2980
#28 0x00007f5407dd16b3 in IA__g_signal_emit (instance=0x1854600, signal_id=128, 
    detail=4294865576) at gsignal.c:3037
#29 0x00007f540b84bca0 in dbus_g_proxy_emit_remote_signal (
    message=<value optimized out>, proxy=<value optimized out>) at dbus-gproxy.c:1734
#30 dbus_g_proxy_manager_filter (message=<value optimized out>, 
    proxy=<value optimized out>) at dbus-gproxy.c:1301
#31 0x00007f540afd09d6 in dbus_connection_dispatch (connection=0xc807e0)
    at dbus-connection.c:4446
#32 0x00007f540b8428e5 in message_queue_dispatch (source=<value optimized out>, 
    callback=<value optimized out>, user_data=<value optimized out>)
    at dbus-gmain.c:101
#33 0x00007f54071a319e in g_main_dispatch (context=<value optimized out>)
    at gmain.c:1960
#34 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513
#35 0x00007f54071a6b88 in g_main_context_iterate (context=0xc0e960, 
    block=<value optimized out>, dispatch=<value optimized out>, 
    self=<value optimized out>) at gmain.c:2591
#36 0x00007f54071a6fd5 in IA__g_main_loop_run (loop=0x175fd00) at gmain.c:2799
#37 0x00007f540a222857 in IA__gtk_main () at gtkmain.c:1205
#38 0x0000000000420435 in main (argc=1, argv=0x7fff5a8e2558) at main.c:332

(gdb) info threads
  17 Thread 0x7f53ec3a8710 (LWP 31491)  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  16 Thread 0x7f53f9f0b710 (LWP 31493)  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  15 Thread 0x7f53eb7fa710 (LWP 31494)  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  14 Thread 0x7f53e3fff710 (LWP 31495)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  13 Thread 0x7f53e336d710 (LWP 31496)  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  12 Thread 0x7f53d3ffe710 (LWP 31498)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  11 Thread 0x7f53e1b42710 (LWP 31501)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  10 Thread 0x7f53e2543710 (LWP 31533)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  9 Thread 0x7f53d35fd710 (LWP 31535)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  8 Thread 0x7f53d29de710 (LWP 31537)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  7 Thread 0x7f53d7fff710 (LWP 31538)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  6 Thread 0x7f53e1141710 (LWP 31610)  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
  5 Thread 0x7f53d75fe710 (LWP 31611)  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
  4 Thread 0x7f53d6bfd710 (LWP 31613)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  3 Thread 0x7f53d57fb710 (LWP 31615)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
  2 Thread 0x7f53d4dfa710 (LWP 31617)  0x00007f5406a84643 in __poll (
    fds=<value optimized out>, nfds=<value optimized out>, timeout=717)
    at ../sysdeps/unix/sysv/linux/poll.c:87
* 1 Thread 0x7f540cac27e0 (LWP 31485)  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136

(gdb) thread 5
[Switching to thread 5 (Thread 0x7f53d75fe710 (LWP 31611))]#0  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136	2:	movl	%edx, %eax
(gdb) bt
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007f540adac095 in _L_lock_947 () from /lib64/libpthread.so.0
#2  0x00007f540adabeb8 in __pthread_mutex_lock (mutex=0x1854600)
    at pthread_mutex_lock.c:61
#3  0x00007f53eabd9021 in gst_play_sink_release_pad (playsink=0x16cc6c0, 
    pad=0x7f53b0016380) at gstplaysink.c:2276
#4  0x00007f53eabd6a0e in deactivate_group (playbin=0x1853a70, group=0x1853c00)
    at gstplaybin2.c:2687
#5  0x00007f53eabd73ab in setup_next_source (playbin=0x1853a70, 
    target=<value optimized out>) at gstplaybin2.c:2737
#6  0x00007f5407db9b4e in IA__g_closure_invoke (closure=0x1a0cf10, return_value=0x0, 
    n_param_values=1, param_values=0x7f53f42e2940, invocation_hint=0x7f53d75fcfc0)
    at gclosure.c:767
#7  0x00007f5407dcfd16 in signal_emit_unlocked_R (node=0x186d280, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at gsignal.c:3247
#8  0x00007f5407dd113e in IA__g_signal_emit_valist (instance=0xc217c0, 
    signal_id=<value optimized out>, detail=0, var_args=0x7f53d75fd1b0)
    at gsignal.c:2980
#9  0x00007f5407dd16b3 in IA__g_signal_emit (instance=0x1854600, signal_id=128, 
    detail=0) at gsignal.c:3037
#10 0x00007f5407db9b4e in IA__g_closure_invoke (closure=0x19c3190, return_value=0x0, 
    n_param_values=1, param_values=0xcfb960, invocation_hint=0x7f53d75fd3d0)
    at gclosure.c:767
#11 0x00007f5407dcfd16 in signal_emit_unlocked_R (node=0x1867c00, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at gsignal.c:3247
#12 0x00007f5407dd113e in IA__g_signal_emit_valist (instance=0x7f53dc17a980, 
    signal_id=<value optimized out>, detail=0, var_args=0x7f53d75fd5c0)
    at gsignal.c:2980
#13 0x00007f5407dd16b3 in IA__g_signal_emit (instance=0x1854600, signal_id=128, 
    detail=0) at gsignal.c:3037
#14 0x00007f53ea1502ee in gst_decode_pad_handle_eos (pad=<value optimized out>)
    at gstdecodebin2.c:2079
#15 source_pad_event_probe (pad=<value optimized out>) at gstdecodebin2.c:2522
#16 0x00007f540808ceb8 in gst_marshal_BOOLEAN__POINTER (closure=0x7f53cc08f860, 
    return_value=0x7f53d75fd8d0, n_param_values=<value optimized out>, 
    param_values=0x7f53d75fd940, invocation_hint=<value optimized out>, 
    marshal_data=0x7f53ea14fde0) at gstmarshal.c:584
#17 0x00007f5407db9b4e in IA__g_closure_invoke (closure=0x7f53cc08f860, 
    return_value=0x7f53d75fd8d0, n_param_values=2, param_values=0x7f53d75fd940, 
    invocation_hint=0x7f53d75fd890) at gclosure.c:767
#18 0x00007f5407dcfd16 in signal_emit_unlocked_R (node=0xa96bc0, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized out>)
    at gsignal.c:3247
#19 0x00007f540804e333 in gst_pad_emit_have_data_signal (pad=<value optimized out>, 
    obj=0x7f53b0001940) at gstpad.c:3961
#20 0x00007f540805751c in gst_pad_push_event (pad=0x7f53cc03d3e0, event=0x7f53b0001940)
    at gstpad.c:4821
#21 0x00007f54080570a0 in gst_pad_send_event (pad=0x7f53dc0a2c20, event=0x7f53b0001940)
    at gstpad.c:4979
#22 0x00007f5408057750 in gst_pad_push_event (pad=0x7f53cc0483b0, event=0x7f53b0001940)
    at gstpad.c:4835
#23 0x00007f53e99061ea in vorbis_dec_sink_event (pad=<value optimized out>, 
    event=0x7f53b0001940) at vorbisdec.c:563
#24 0x00007f54080570a0 in gst_pad_send_event (pad=0x7f53cc048230, event=0x7f53b0001940)
    at gstpad.c:4979
#25 0x00007f5408057750 in gst_pad_push_event (pad=0x7f53cc0480b0, event=0x7f53b0001940)
    at gstpad.c:4835
#26 0x00007f53ea7b243d in gst_single_queue_push_one (object=<value optimized out>, 
    sq=<value optimized out>, mq=<value optimized out>) at gstmultiqueue.c:773
#27 gst_multi_queue_loop (object=<value optimized out>, sq=<value optimized out>, 
    mq=<value optimized out>) at gstmultiqueue.c:922
#28 0x00007f5408073e8e in gst_task_func (task=0x7f53f438cdb0) at gsttask.c:234
#29 0x00007f54071cd7c2 in g_thread_pool_thread_proxy (data=<value optimized out>)
    at gthreadpool.c:265
#30 0x00007f54071cc1d4 in g_thread_create_proxy (data=0x7f53c003cdd0) at gthread.c:635
#31 0x00007f540ada991a in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
#32 0x00007f5406a8da4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#33 0x0000000000000000 in ?? ()

Version-Release number of selected component (if applicable):

glibc-2.10.90-15.x86_64
rhythmbox-0.12.3-5.fc12.x86_64
gstreamer-0.10.24-1.fc12.x86_64
pulseaudio-0.9.16-10.test6.fc12.x86_64

How reproducible:

Occasionally. Will happen every time I run it eventually, but doesn't happen on every track change.

Steps to Reproduce:
1. Run RB.
2. Play in shuffle mode.

Comment 1 Bastien Nocera 2009-10-20 15:40:50 UTC
This should work better with the updated pulsesink in gstreamer-plugins-good-0.10.16-4.fc12.

Please let me know if you can reproduce now.

Comment 2 Bill Nottingham 2009-10-20 16:25:12 UTC
Seems to work for me so far for ~30 minutes.