[SRU] Rhythmbox 2.97 and 2.98 freezes with large collection

Bug #1010619 reported by Matthieu Baerts on 2012-06-08
54
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Rhythmbox
Fix Released
Critical
rhythmbox (Ubuntu)
Undecided
Unassigned
Quantal
Undecided
Unassigned
Raring
Undecided
Unassigned

Bug Description

[IMPACT]

 * Rhythmbox freezes when using a large collection.

[TESTCASE]

 * It happens with a large collection.
 * It's due to a deadlock between db load and rhythmdb_add_uri_with_types and it's possible that it's not easy to reproduce this bug. Maybe it can be interesting to slow down the hard disk (e.g. by copying a large file when opening Rhythmbox with a lot of files in its collection)
 * After a few seconds, Rhythmbox will freeze.
 * (this fix has been confirmed by a few people here above.)

[Regression Potential]

* According to RB devs: None => http://git.gnome.org/browse/rhythmbox/commit/?id=a2ead52faa45a37f28dff1e94cad5f0dadd28129
* This deadlock has been fixed by RB devs and now it seems they understand why there was a deadlock

[ Other Info ]

* Raring: A new version (2.98-0ubuntu2) has been uploaded to Raring repos
* Quantal: This BZR branch contains a fix for this bug: lp:~matttbe/ubuntu/quantal/rhythmbox/1010619_795765 (it also contains the latest version of '11_fix_cd_pausing.patch' (patch from upstream and also available in Raring) linked to the bug: #795765)
  For more details about this branch, please have a look at this merge request: https://code.launchpad.net/~matttbe/ubuntu/quantal/rhythmbox/1010619_795765/+merge/133343

[ Original Bug Report ]

Hello,

With the latest version of RB 2.97-0ubuntu2, the interface freezes at launch.
I didn't have this bug with the previous version 2.97-0ubuntu1 but it's a bit strange because it seems the change between the two versions only concerns 'audiocd' plugin (and I have this bug with or without this plugin)

If I launch it with this command, I don't have any problem:
  $ rhythmbox --rhythmdb-file=test.db

Maybe my (huge) database is corrupted but if I launch RB with the debug mode (-d), I don't have this bug (but it takes a few time before being ready to use).

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: rhythmbox 2.97-0ubuntu2
ProcVersionSignature: Ubuntu 3.4.0-5.11-generic 3.4.0
Uname: Linux 3.4.0-5-generic x86_64
ApportVersion: 2.1.1-0ubuntu2
Architecture: amd64
Date: Fri Jun 8 20:34:40 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Alpha amd64 (20110803.1)
SourcePackage: rhythmbox
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Matthieu Baerts (matttbe) wrote :
Changed in rhythmbox:
importance: Unknown → Medium
status: Unknown → New
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in rhythmbox (Ubuntu):
status: New → Confirmed
nachokb (nachokb) wrote :

it also happens with these two versions on Ubuntu Quantal (dist upgraded from Precise):

* 2.98-0.1~webupd8~quantal2 from ppa:webupd8team/rhythmbox
* Precise's 2.96-0ubuntu4.1 installed manually (gotten these debs from packages.ubuntu.com: rhythmbox_2.96-0ubuntu4.1_amd64 librhythmbox-core5_2.96-0ubuntu4.1_amd64 rhythmbox-data_2.96-0ubuntu4.1_all gir1.2-rb-3.0_2.96-0ubuntu4.1_amd64)

2.96 worked wonderfully on Precise before upgrading... perhaps the XML got corrupted somehow during the upgrade? (though it doesn't look like it was modified)

I've got a ~100gb collection.

Also, if I start it with

  rhythmbox --rhythmdb-file=~/test.db

it works, until it scanned enough of my ~/Music to start hanging again...

My conclusion:

* it's definitely related to having a large collection
* it didn't happen on Precise
* it happens on Quantal with Precise's Rhythmbox

so I guess the problem lies in some other dependency (say, libxml or something)...

any ideas?

Matthieu Baerts (matttbe) wrote :

Yes, I confirm that the problem is due to a large collection.

But I don't know if it's due to libxml2 because I had this problem with the version 2.97-0ubuntu2 of RB and not with the previous one (2.97-0ubuntu1). They were compiled with the same version of libxml2 and I tested both versions of RB with the same version of libxml2.

Build logs:
 - https://launchpadlibrarian.net/106847253/buildlog_ubuntu-quantal-amd64.rhythmbox_2.97-0ubuntu1_BUILDING.txt.gz
 - https://launchpadlibrarian.net/107103149/buildlog_ubuntu-quantal-amd64.rhythmbox_2.97-0ubuntu2_BUILDING.txt.gz

wasutton3 (will-sutton-family) wrote :

I have had a similar bug on ArchLinux.
I did try removing the contents of /.local/share/rhythmbox (the same folder on ubuntu). And then reloading.
It works once, but if i close rhythmbox and reopen, it fails.

Changed in rhythmbox:
importance: Medium → Critical
status: New → Incomplete

I confirm this as well, same thing here, all started after upgrading to Quantal also with large collection (~200GB).

Got my collection mounted from my NAS through fstab, first I thought this was the issue because noticed the 'sambafs' got deprecated and replaced by 'cifs' in 12.10. So tried nfs/cifs and some other mount options, but that doesn't seem to be the problem, mounts are readable and writable.

When rhytmbox is started with: rhythmbox --debug

It will freeze for a short while to be fully functional after. Until I close it again and try to start it normally, it will freeze up again and won't comeback. Tryed to let it run for a 1hr+ but doesn't come back anymore.

Noticed that even sometimes with the --debug parameter it seems to random freeze up while doing the following:
[0x1217f20] [rhythmdb_add_uri_with_types] rhythmdb.c:2996: queueing stat for "file:///media/Music/xxx"

(Btw there is a typo there queueing -> queuing)

Clearing out ~/.local/share/rhythmbox, will make rhythmbox box start and work properly until it has been closed again and you restart it, it will freeze up again.

Even though clearing out my ~/.local/share/rhythmbox is not really an option, because I don't want to loose my ratings in rhythmdb.xml!

Matthieu Baerts (matttbe) wrote :

Hello,

It seems that this bug is now fixed in the development version of RB thanks to this commit by Jonathan Matthew!
  http://git.gnome.org/browse/rhythmbox/commit/?id=a2ead52faa45a37f28dff1e94cad5f0dadd28129

Is it possible to test this patch simply by using my ppa:matttbe/ppa? Then can you confirm (or not) that it's better? Don't forget to close and re-open RB just to be sure ;)

Packages for Ubuntu Raring 13.04 are already built, I guess it's should be the same packages: https://launchpad.net/~matttbe/+archive/ppa/+sourcepub/2768798/+listing-archive-extra
But it's maybe better to wait for Quantal packages which are currently building and should be available in a few minutes ;) => https://launchpad.net/~matttbe/+archive/ppa/+sourcepub/2769368/+listing-archive-extra

If some of you can confirm that this bug is fixed, I'll propose to add this new version in official repos.

Carlos Cuevas (carloscuevas) wrote :

I can confirm that this bug is fixed with the version from matttbe ppa

Changed in rhythmbox:
status: Incomplete → Fix Released
nachokb (nachokb) wrote :

I also confirm...

Matthieu,

You rock! :) I confirm your fix workes like a charm, thanks!

Marc Deslauriers (mdeslaur) wrote :

ACK on the raring merge request. I'll upload it in a few minutes.

Now that it's in raring, could you please prepare an SRU for Quantal?

Changed in rhythmbox (Ubuntu Quantal):
status: New → Confirmed
Matthieu Baerts (matttbe) wrote :

> Now that it's in raring, could you please prepare an SRU for Quantal?
Sure!
But do you know if the 2.98 version will be backported to Quantal too? A FFe has been introduced in bug #1060601 but it was too late for a FFe. (and even if this new version fixes many bugs, it introduces some new features too)

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rhythmbox - 2.98-0ubuntu2

---------------
rhythmbox (2.98-0ubuntu2) raring; urgency=low

  * debian/patches/git-rhythmdb-fix_deadlock.patch:
    - Backported git patch to fix deadlock between db load and
      rhythmdb_add_uri_with_types: (LP: #1010619)
 -- Matthieu Baerts (matttbe) <email address hidden> Wed, 07 Nov 2012 11:28:30 +0100

Changed in rhythmbox (Ubuntu Raring):
status: Confirmed → Fix Released
description: updated
summary: - [2.97-0ubuntu2] Rhythmbox freezes
+ [SRU] Rhythmbox 2.97 and 2.98 freezes with large collection
description: updated
nachokb (nachokb) wrote :

ref Testcase: with a 190gb collection, it happens > 90% of the time RB starts up

description: updated
Ville Ranki (ville-ranki) wrote :

How about releasing the fix in Quantal asap? RB has been broken since quantal release it's a bit annoying. Matttbe's package fixes the issue here too, but average users won't be installing from PPA.

Matthieu Baerts (matttbe) wrote :

@Ville: I introduce a new SRU (Stable Release Update) in order to backport this new version to Quantal-Update repos.
But feel free to talk with a member of the Ubuntu-SRU team on IRC ;) => https://launchpad.net/~ubuntu-sru

Hello Matthieu, or anyone else affected,

Accepted rhythmbox into quantal-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/rhythmbox/2.97-1ubuntu6.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in rhythmbox (Ubuntu Quantal):
status: Confirmed → Fix Committed
tags: added: verification-needed
Matthieu Baerts (matttbe) wrote :

I'm now using Ubuntu Raring 13.04.

@Ville Ranki, nachokb, Sander van Melsen, Carlos Cuevas or anyone else: is it possible to confirm that this bug is fixed with this version 2.97-1ubuntu6.1? :)

Can't check this at the desktop I am currently on, but will check this later on today.

The proposed package seems to be working properly! Will change the tag to 'verification-done'.

Thanks to everyone involved, finally Rhythmbox will work again since the release of 12.10, was using Matthieu's PPA until now (thanks) :)

tags: added: verification-done
removed: verification-needed

To show I am really using the proposed version:
rhythmbox:
  Installed: 2.97-1ubuntu6.1
  Candidate: 2.97-1ubuntu6.1
  Version table:
 *** 2.97-1ubuntu6.1 0
        400 http://nl.archive.ubuntu.com/ubuntu/ quantal-proposed/main amd64 Packages
        100 /var/lib/dpkg/status
     2.97-1ubuntu6~quantal~matttbe0 0
        500 http://ppa.launchpad.net/matttbe/ppa/ubuntu/ quantal/main amd64 Packages
     2.97-1ubuntu5 0
        500 http://nl.archive.ubuntu.com/ubuntu/ quantal/main amd64 Packages

Matthieu Baerts (matttbe) wrote :

Thank you for your help ;)

AraiBob (rhhyatt) wrote :

I upgraded to Ubuntu 12.10 a couple of weeks ago, and RB has a problem with my over 45,000 mp3 and flac music directories. I uninstalled it, waited a day, then installed. It worked the first day, but today, as it began to read the directories, it froze...

There is no abort, so apport does not report this problem.

When can I get the new version, with the fix described here?

Matthieu Baerts (matttbe) wrote :

@AraiBob: this bug should be fixed on Ubuntu-proposed repositories. Feel free to test this version by enabling this repositories and update your system as said on comment #17.

This new version is also linked to the bug #795765. Is it possible to try to reproduce this bug (CDs won't resume playing after being paused) with this new version and confirm if this bug is fixed too? :)
If yes, this package will be accepted for Ubuntu-update repositories.

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rhythmbox - 2.97-1ubuntu6.1

---------------
rhythmbox (2.97-1ubuntu6.1) quantal-proposed; urgency=low

  * debian/patches/git_rhythmdb_fix_deadlock.patch:
    - Backported git patch to fix deadlock between db load and
      rhythmdb_add_uri_with_types: (LP: #1010619)
  * Updated 11_fix_cd_pausing.patch with fix from git (LP: #795765)
 -- Matthieu Baerts (matttbe) <email address hidden> Wed, 07 Nov 2012 17:26:55 +0100

Changed in rhythmbox (Ubuntu Quantal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.