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 602957 - rhythmbox freezes randomly
rhythmbox freezes randomly
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: playback
0.12.x
Other Linux
: High critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-25 16:44 UTC by Leo Arias
Modified: 2010-09-16 15:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debugging output (32.58 KB, text/plain)
2009-11-25 16:44 UTC, Leo Arias
Details
debugging output (47.78 KB, text/plain)
2009-11-26 01:15 UTC, Leo Arias
Details
debugging output. rhythmbox attached to gdb once frozen. (56.07 KB, text/plain)
2009-12-16 19:04 UTC, Leo Arias
Details

Description Leo Arias 2009-11-25 16:44:55 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.
Comment 1 Jonathan Matthew 2009-11-25 20:48:27 UTC
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!
Comment 2 Leo Arias 2009-11-26 01:15:53 UTC
Created attachment 148496 [details]
debugging output
Comment 3 Leo Arias 2009-11-26 01:17:06 UTC
Sorry about that. I think I've installed all the missing gdb packages. Is this new trace useful?

thanks.
Comment 4 Jonathan Matthew 2009-11-26 01:31:34 UTC
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.
Comment 5 Leo Arias 2009-11-26 03:40:26 UTC
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.
Comment 6 Jonathan Matthew 2009-11-26 03:51:11 UTC
type 'continue' in gdb.
Comment 7 Leo Arias 2009-11-26 18:29:46 UTC
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.
Comment 8 Bastien Nocera 2009-11-26 18:50:05 UTC
Add:
handle SIGPIPE nostop
handle SIGPIPE pass
to your ~/.gdbinit
Comment 9 Leo Arias 2009-12-04 00:27:58 UTC
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 :)
Comment 10 Jonathan Matthew 2009-12-04 00:40:25 UTC
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.
Comment 11 Leo Arias 2009-12-16 19:03:51 UTC
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.
Comment 12 Leo Arias 2009-12-16 19:04:53 UTC
Created attachment 149864 [details]
debugging output. rhythmbox attached to gdb once frozen.
Comment 13 Jonathan Matthew 2009-12-16 21:20:15 UTC
Enabling crossfading (edit->preferences, 'playback' tab) will stop this happening.
Comment 14 Leo Arias 2009-12-17 19:55:38 UTC
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.
Comment 15 Jonathan Matthew 2009-12-17 20:42:33 UTC
You don't need to do anything.  I'll fix the bug some time soon, hopefully.
Comment 16 Jonathan Matthew 2009-12-28 07:13:53 UTC
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.
Comment 17 Leo Arias 2010-09-16 15:30:30 UTC
Thanks a lot.
*hug*