GNOME Bugzilla – Bug 360648
Rhythmbox locks up for a long period of time when scanning library
Last modified: 2018-05-24 11:53:00 UTC
Please describe the problem: When I mount my removeable media that contains my library while rb is loaded it then scans the media for files. While this is happenning the interface locks up and is not responding at all. After about 30-40 seconds the interface responds again and rb behaves as expected. It seems to be doing large amounts of IO on the GUI thread and not in a background thread and hence the GUI locks up. Steps to reproduce: 1. Have a large collection (70 GB) on external drive 2. Start rb 3. plugin external drive and mount 4. Notice rb interface is locked up Actual results: The interface is not responsive for 30-40 seconds. It looks like rb has crashed. The interface is not redrawn. Expected results: The interface would always be responsive no matter how large a library is and how much IO rb must do to scan it. Does this happen every time? yes Other information:
Please set the "Version" field. Also do you have the library "watch" feature enabled?
I am running from the latest trunk version from CVS (that's what I set in the version field). I do have the "watch" feature enabled...
Thanks. This is most likely a dupe of bug #331876. Can you try doing what I did (tracing the gam_server and rhythmbox) in bug #331876 comment #8 and post the results here? Then we can determine if it is a dupe. Thanks.
The symptoms of bug 331876 are that rhythmbox deadlocks. Since that is not the case here (the reporter says it recovers after 30-40 seconds), this is not a duplicate.
It still might be caused by the same underlying problem. For me, when loading the same large library can deadlock, or sometimes just freezes the UI and then recovers like this bug. Obviously the trace I suggested can only be done if it actually does deadlock, which is why I didn't close it as a dupe.
Not really. The problem here is that telling gamin to monitor directories and scanning the library recursively for new files takes a long time. The deadlock occurs because the buffers in both directions on the connection between gnome-vfs and gamin can fill up simultaneously, leaving both sides waiting for the other to read from the pipe. You could probably trigger the deadlock with a relatively small library that would otherwise take very little time to scan. The latest patch on bug 325215 will probably help with this issue.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/250.