GNOME Bugzilla – Bug 602957
rhythmbox freezes randomly
Last modified: 2010-09-16 15:30:30 UTC
Created attachment 148453 [details] debugging output Rhythmbox freezes when I'm listening to my music library. I haven't been able to find a pattern to reproduce the bug, but I can't listen to music for an hour without the program freezing. Ubuntu 9.10 rhythmbox: Installed: 0.12.5-0ubuntu5 Attached is gdb log.
Thanks for taking the time to report this bug. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so and reopen this bug or report a new one. Thanks in advance!
Created attachment 148496 [details] debugging output
Sorry about that. I think I've installed all the missing gdb packages. Is this new trace useful? thanks.
The new trace shows the results of a SIGPIPE signal, which is perfectly normal. When you catch a signal like this in gdb, you should just 'continue' until you see the real problem.
um, ok. But how can I continue if the window is greyed out, the music stopped and no button responds? a way to continue would be a great solution for me :) thanks.
type 'continue' in gdb.
When I type continue the first time, a new SIGPIPE signal is received: Program received signal SIGPIPE, Broken pipe. 0xb7fe2422 in __kernel_vsyscall () (gdb) continue Continuing. Program received signal SIGPIPE, Broken pipe. 0xb7fe2422 in __kernel_vsyscall () Then I type continue again, and the program continues playing. It skips all the time between the first and second SIGPIPE and plays the song from there. After some time (about an hour) it stops again. And it's all the same, start reading again from the first line of this comment. So I can't seem to find the real problem. Please let me know if I can do something else to help you find the source of the problem. pura vida.
Add: handle SIGPIPE nostop handle SIGPIPE pass to your ~/.gdbinit
with those additional options the program doesn't freeze. But what does it mean? Something is not working for me. I don't really understand what. Should I change the status to resolved and look for the cause with the Ubuntu developers? thanks, pura vida :)
If you can still reproduce the problem when rhythmbox is not running under gdb, you can try attaching gdb to it once it's frozen.
Sorry for the delay. Once the program is frozen and I have attached gdb, what else should I do? I tried continue, but the program didn't continue. I'll attach the backtrace that gdb generated. thanks.
Created attachment 149864 [details] debugging output. rhythmbox attached to gdb once frozen.
Enabling crossfading (edit->preferences, 'playback' tab) will stop this happening.
Thanks. It seems to be working. Yesterday I had to install banshee because I couldn't listen for an entire song without the freeze. Now I'm happy with rhythmbox again :) What should I do now with this issue? How to mark it as "has workaround"? pura vida.
You don't need to do anything. I'll fix the bug some time soon, hopefully.
commit c258166cef4aa61a59f78c142ea7140490126ce4 Author: Jonathan Matthew <jonathan@d14n.org> Date: Mon Dec 28 17:10:15 2009 +1000 playbin2: fix track changes (bug #601524, bug #602957) Rather than emitting the playing stream change signal immediately, and pretending the playback position is 0 until the next tick, we wait until either we get a playbin2-stream-changed signal or a position query returns a position inside the first second. This means the playback position should always be consistent, and the track change is reflected in the UI closer to when it actually occurs. This also means we don't emit the playing-stream signal on a streaming thread, which fixes some threading problems with a11y enabled.
Thanks a lot. *hug*