This service will be undergoing maintenance at 00:00 UTC, 2016-09-28. It is expected to last about 1 hours
Bug 212163 - rhythmbox hangs in futex_wait
rhythmbox hangs in futex_wait
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: rhythmbox (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Bastien Nocera
bzcl34nup
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-10-25 09:35 EDT by Jeffrey Moyer
Modified: 2008-05-06 12:32 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-05-06 12:32:33 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
Full backtrace of all threads (5.73 KB, text/plain)
2006-11-01 14:21 EST, Henning Norén
no flags Details

  None (edit)
Description Jeffrey Moyer 2006-10-25 09:35:51 EDT
Description of problem:
I left rhythmbox open over the weekend, not playing anything, and it hung.

Here is the traceback after attaching to it with gdb:

(gdb) bt
#0  0x00687402 in __kernel_vsyscall ()
#1  0x4bc9598e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0x4bc917fc in _L_mutex_lock_85 () from /lib/libpthread.so.0
#3  0x4bc9133d in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0x48438b1c in gdk_threads_leave () from /usr/lib/libgdk-x11-2.0.so.0
#5  0x48465837 in gdk_event_send_client_message_for_display ()
   from /usr/lib/libgdk-x11-2.0.so.0
#6  0x4bf3a812 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0x4bf3afe5 in g_main_context_check () from /lib/libglib-2.0.so.0
#8  0x4bf3b6c9 in g_main_loop_run () from /lib/libglib-2.0.so.0
#9  0x485e0be4 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x08069c41 in main (argc=1, argv=0xbffbb8c4) at main.c:375


Version-Release number of selected component (if applicable):
rhythmbox-0.9.5-4.fc6


How reproducible:
not sure
Comment 1 Jeffrey Moyer 2006-10-25 16:59:54 EDT
I got it to hang again, but this time the music continued to play for a bit. 
Here is a stack trace from each thread:

(gdb) info threads
  6 Thread -1260016752 (LWP 19471)  0x00d8f402 in __kernel_vsyscall ()
  5 Thread -1300812912 (LWP 26593)  0x00d8f402 in __kernel_vsyscall ()
  4 Thread -1289856112 (LWP 26595)  0x00d8f402 in __kernel_vsyscall ()
  3 Thread -1311302768 (LWP 26773)  0x00d8f402 in __kernel_vsyscall ()
  2 Thread -1321792624 (LWP 26776)  0x00d8f402 in __kernel_vsyscall ()
* 1 Thread -1208621344 (LWP 19465)  0x00d8f402 in __kernel_vsyscall ()
(gdb) thread 2
[Switching to thread 2 (Thread -1321792624 (LWP 26776))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bbe1559 in ioctl () from /lib/libc.so.6
#2  0x4cca3540 in _snd_pcm_hw_open () from /lib/libasound.so.2
#3  0x4cc93655 in snd_pcm_writei () from /lib/libasound.so.2
#4  0x00230fd7 in ?? () from /usr/lib/gstreamer-0.10/libgstalsa.so
#5  0x4c5e54d3 in gst_audio_sink_get_type ()
   from /usr/lib/libgstaudio-0.10.so.0
#6  0x4bf55fcf in g_thread_create_full () from /lib/libglib-2.0.so.0
#7  0x4bc8f3db in start_thread () from /lib/libpthread.so.0
#8  0x4bbe906e in clone () from /lib/libc.so.6
(gdb) thread 3
[Switching to thread 3 (Thread -1311302768 (LWP 26773))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bc931a6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x4d029328 in gst_system_clock_obtain ()
   from /usr/lib/libgstreamer-0.10.so.0
#3  0x4bf55fcf in g_thread_create_full () from /lib/libglib-2.0.so.0
#4  0x4bc8f3db in start_thread () from /lib/libpthread.so.0
#5  0x4bbe906e in clone () from /lib/libc.so.6
(gdb) thread 4 
[Switching to thread 4 (Thread -1289856112 (LWP 26595))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bc931a6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x00dc8b3f in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#3  0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#4  0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#5  0x00791ce5 in gst_stream_selector_get_type ()
   from /usr/lib/gstreamer-0.10/libgstplaybin.so
#6  0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#7  0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#8  0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#9  0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#10 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#11 0x00d01e3a in gst_mad_get_type () from /usr/lib/gstreamer-0.10/libgstmad.so
#12 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#13 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#14 0x00b02f66 in gst_icydemux_get_type ()
   from /usr/lib/gstreamer-0.10/libgsticydemux.so
#15 0x00b035a3 in gst_icydemux_get_type ()
   from /usr/lib/gstreamer-0.10/libgsticydemux.so
#16 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#17 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
---Type <return> to continue, or q <return> to quit---
#18 0x00dccafc in gst_type_find_element_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#19 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#20 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#21 0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#22 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#23 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#24 0x4d0908b6 in gst_base_src_get_type () from /usr/lib/libgstbase-0.10.so.0
#25 0x4d02e02f in gst_task_set_lock () from /usr/lib/libgstreamer-0.10.so.0
#26 0x4bf57998 in g_thread_pool_push () from /lib/libglib-2.0.so.0
#27 0x4bf55fcf in g_thread_create_full () from /lib/libglib-2.0.so.0
#28 0x4bc8f3db in start_thread () from /lib/libpthread.so.0
#29 0x4bbe906e in clone () from /lib/libc.so.6
(gdb) thread 5 
[Switching to thread 5 (Thread -1300812912 (LWP 26593))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bc931a6 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x4c5ec9a3 in gst_ring_buffer_start () from /usr/lib/libgstaudio-0.10.so.0
#3  0x4c5edf4e in gst_ring_buffer_commit () from /usr/lib/libgstaudio-0.10.so.0
#4  0x4c5e7af9 in gst_base_audio_sink_get_type ()
   from /usr/lib/libgstaudio-0.10.so.0
#5  0x4d0881d0 in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#6  0x4d08a15b in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#7  0x4d08a716 in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#8  0x4d08ad0e in gst_base_sink_get_type () from /usr/lib/libgstbase-0.10.so.0
#9  0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#10 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#11 0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#12 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#13 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#14 0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#15 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#16 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#17 0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#18 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
---Type <return> to continue, or q <return> to quit---
#19 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#20 0x4d094c74 in gst_base_transform_get_type ()
   from /usr/lib/libgstbase-0.10.so.0
#21 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#22 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#23 0x4d094c74 in gst_base_transform_get_type ()
   from /usr/lib/libgstbase-0.10.so.0
#24 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#25 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#26 0x4d094c74 in gst_base_transform_get_type ()
   from /usr/lib/libgstbase-0.10.so.0
#27 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#28 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#29 0x4d009667 in gst_ghost_pad_new_no_target ()
   from /usr/lib/libgstreamer-0.10.so.0
#30 0x4d0162bb in gst_pad_alloc_buffer () from /usr/lib/libgstreamer-0.10.so.0
#31 0x4d016a4b in gst_pad_push () from /usr/lib/libgstreamer-0.10.so.0
#32 0x00dc667e in gst_queue_get_type ()
   from /usr/lib/gstreamer-0.10/libgstcoreelements.so
#33 0x4d02e02f in gst_task_set_lock () from /usr/lib/libgstreamer-0.10.so.0
#34 0x4bf57998 in g_thread_pool_push () from /lib/libglib-2.0.so.0
#35 0x4bf55fcf in g_thread_create_full () from /lib/libglib-2.0.so.0
#36 0x4bc8f3db in start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#37 0x4bbe906e in clone () from /lib/libc.so.6
(gdb) thread 6
[Switching to thread 6 (Thread -1260016752 (LWP 19471))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bc9342c in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#2  0x4cb88fa3 in ?? () from /lib/libgthread-2.0.so.0
#3  0x4bf1b681 in g_async_queue_sort () from /lib/libglib-2.0.so.0
#4  0x4bf1b7b6 in g_async_queue_timed_pop () from /lib/libglib-2.0.so.0
#5  0x080d69a8 in action_thread_main (db=0x9d8e050) at rhythmdb.c:1795
#6  0x4bf55fcf in g_thread_create_full () from /lib/libglib-2.0.so.0
#7  0x4bc8f3db in start_thread () from /lib/libpthread.so.0
#8  0x4bbe906e in clone () from /lib/libc.so.6
(gdb) thread 1
[Switching to thread 1 (Thread -1208621344 (LWP 19465))]#0  0x00d8f402 in
__kernel_vsyscall ()
(gdb) bt
#0  0x00d8f402 in __kernel_vsyscall ()
#1  0x4bc9598e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0x4bc917fc in _L_mutex_lock_85 () from /lib/libpthread.so.0
#3  0x4bc9133d in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0x48438b1c in gdk_threads_leave () from /usr/lib/libgdk-x11-2.0.so.0
#5  0x48465837 in gdk_event_send_client_message_for_display ()
   from /usr/lib/libgdk-x11-2.0.so.0
#6  0x4bf3a812 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0x4bf3afe5 in g_main_context_check () from /lib/libglib-2.0.so.0
#8  0x4bf3b6c9 in g_main_loop_run () from /lib/libglib-2.0.so.0
#9  0x485e0be4 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x08069c41 in main (argc=1, argv=0xbfbb5484) at main.c:375
Comment 2 Henning Norén 2006-11-01 14:21:26 EST
Created attachment 140021 [details]
Full backtrace of all threads

This one is happening at least once a day to me too. FC5 was unaffected.
The only thing I need to do to reproduce is to start rhythmbox, browse (but not
play) some of the found shares found on the network and wait.
I am not sure if a hang has happened whitout me clicking on a share yet but I
have at least successfully got it to hang without ever playing anything.

$rpm -q rhythmbox
rhythmbox-0.9.5-4.fc6
$rpm -qa | grep vfs
gnome-python2-gnomevfs-2.16.0-1.fc6
gnome-vfs2-debuginfo-2.16.0-4.fc6
gnome-vfs2-2.16.0-4.fc6
gnome-vfs2-smb-2.16.0-4.fc6
gnome-vfs2-devel-2.16.0-4.fc6

$uname -a
Linux ******** 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686
athlon i386 GNU/Linux

$strace -p <rhythmbox-PID>
Process <rhythmbox-PID> attached - interrupt to quit
futex(0x9f2be60, FUTEX_WAIT, 2, NULL

Full backtrace of all threads attached
Comment 3 Henning Norén 2006-11-06 11:04:11 EST
I tried to install the rawhide-packages of rhythmbox instead and it has the
exact same problem, at least if installed in FC6 (Full rawhide-install not tested).

$rpm -qa | grep rhythmbox
rhythmbox-debuginfo-0.9.6-1.fc7
rhythmbox-0.9.6-1.fc7
Comment 4 Jeffrey Moyer 2006-11-07 14:59:37 EST
I can definitely trigger a rhythmbox hang if another user is sharing music, and
he closes rhythmbox.
Comment 5 Bastien Nocera 2007-01-30 13:25:53 EST
(In reply to comment #4)
> I can definitely trigger a rhythmbox hang if another user is sharing music, and
> he closes rhythmbox.

That should be solved with a libsoup update, let me find the upstream bug.

(Incidentally, it's probably the same bug as bug 216888)
Comment 6 Bastien Nocera 2007-01-30 19:21:20 EST
Nope, no easy fix. Sounds like:
http://bugzilla.gnome.org/show_bug.cgi?id=362226
Comment 7 Mariano Suárez-Alvarez 2007-05-02 15:27:03 EDT
FWIW, I was seeing this (in muine, but that should not matter) with an
up-to-date FC6, googled a bit, saw a comment somewhere saying that using the
gstreamer plugins from gstreamer.org's yum repos helped, tried that and have not
seen a hang since.
Comment 8 Bastien Nocera 2008-03-27 13:13:59 EDT
Can anyone reproduce this with a recent version (F8 or F9 beta)?
Comment 9 Jeffrey Moyer 2008-03-31 11:11:24 EDT
(In reply to comment #8)
> Can anyone reproduce this with a recent version (F8 or F9 beta)?

I'll see if I can install a system to try this out.
Comment 10 Bug Zapper 2008-04-04 00:05:59 EDT
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
Comment 11 Jeffrey Moyer 2008-04-04 15:18:48 EDT
(In reply to comment #8)
> Can anyone reproduce this with a recent version (F8 or F9 beta)?

I tried to reprouduce this, using rhythmbox-0.11.5-5.fc9.i386.  I had another
rhytmbox sharing music (rhythmbox-0.9.5-4.fc6).  When I tried to listen to the
shared music, it won't play.  I keep getting assertions:

(rhythmbox:6534): RhythmDB-CRITICAL **: rhythmdb_entry_get_ulong: assertion
`entry != NULL' failed

(rhythmbox:6534): RhythmDB-CRITICAL **: rhythmdb_entry_get_string: assertion
`entry != NULL' failed

These repeat over and over again.  Thus, I am not actually able to reproduce the
bug, because I can't get to a state where I can test it.

Cheers,

Jeff
Comment 12 Bug Zapper 2008-05-06 12:32:31 EDT
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.