FS#12676 - rb userinterface freezes - some database-related deadlock maybe?

Attached to Project: Rockbox
Opened by Dave Hooper (stripwax) - Sunday, 13 May 2012, 22:48 GMT
Task Type Bugs
Category Database
Status New
Assigned To No-one
Operating System iPod 5G
Severity Medium
Priority Normal
Reported Version Release 3.11
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


rockbox version 3.11.2

If I do a manual database update (settings -> database -> Update Now), [rockbox tells me the database will update in the background], then while the database is updating I go to main menu -> Plugins, then rockbox hangs. It seems unresponsive however disk is still spinning and seeking (rapidly). I can get the same hang if I go to main menu -> Database -> Recently Added . At a guess, it could be related to trying to access the disk while the database updater is accessing the disk - but if that's the case I'd be surprise if it's gone unnoticed before.

Note that dircache turns itself off (still? at least for me) when I go to settings -> database -> Update Now.

rockbox seems to be functioning fine usually, so long as database update isn't running
This task depends upon

Comment by Dave Hooper (stripwax) - Monday, 14 May 2012, 22:37 GMT
Interesting (and possibly related?) - I just tried doing another database update after copying some more music to the device, and after the database had appeared to finish updating (by which I mean - the CPU went back to being unboosted and the System->Debug->View Database Info showed Progress: -1% , which seems to mean 'finished scanning' I guess?) , the disk actually didn't ever spin down, just kept spinning and occasionally clicking. Usually I wouldn't notice, I'd probably play some music or shut it down, but I thought I'd leave it for a while and see how long it took to spin down.

It never did. After ten minutes of no obvious activity but continual disk spinning I tried something (remembering that a different ipod 5g that I'd used earlier did not exhibit this problem) - and turned off the Last.FM Scrobbling. Disk immediately spun down.

That's odd right? Why would the Last.FM Scrobbling function keep the disk continually spinning and (presumably) seeking, if I'm not even playing any music, and the only thing that's happened since turning on was actually a database scan, no playback whatsoever?

I wonder if the lockup was a combination then of database update + + dircache. (which is actually my default setup)