Rockbox

Tasklist

FS#12175 - Rockbox crashes after initializing database

Attached to Project: Rockbox
Opened by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 08:50 GMT
Last edited by sideral (sideral) - Monday, 04 July 2011, 13:23 GMT
Task Type Bugs
Category Operating System/Drivers
Status Unconfirmed
Assigned To No-one
Operating System Sansa e200
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

SVN r30097 crashes after last commit step with *PANIC* Stkov dircache (0)

at least SVN r30058 works properly
This task depends upon

Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 08:52 GMT
after reboot the database seems to work properly
Comment by sideral (sideral) - Thursday, 30 June 2011, 12:30 GMT
Thanks for the bug report!

The panic message seems to hint at a stack overflow in the dircache thread. (The directory cache is temporarily disabled during the database commit, and reloaded afterwards.)

Is the crash reproducible after each database update or reinitialization? If so, please list the exact steps. Could you please double-check that you cannot reproduce the behavior (with the same steps) with r30058? There have been no dircache changes since then… Maybe you just haven't rebuilt or updated your database for some time.
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:04 GMT
where do I get an older build?
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:06 GMT
I've just tested the newest build and it crashed on reinitialization with a stack overflow.
The crash is not always the case. Sometimes it just stops scanning the disk at 78% and then the player isn't responding any more.
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:30 GMT
nervermind... i've found the old releases archive :-)
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:36 GMT
r30058 crash
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:51 GMT
r30052 works

I've tested the daily versions, so no test of r30052...r30057
Comment by Wolfgang Dilg (rasferret) - Thursday, 30 June 2011, 14:57 GMT
no that's weird, I've tested r30058 again and now it worked. so the bug is not reproducable.
Comment by sideral (sideral) - Thursday, 30 June 2011, 19:36 GMT
I just ran into this myself on a FuzeV2, with a r30091-based build.

I guess disabling dircache (in system settings → disk) is a safe workaround until this is fixed.
Comment by sideral (sideral) - Monday, 04 July 2011, 13:23 GMT
  • Field changed: Category (Database → Operating System/Drivers)
Changing the bug category -- this is likely not a database bug, but happens when the dircache is reloaded after the updated database has been committed.
Comment by sideral (sideral) - Tuesday, 05 July 2011, 07:31 GMT
If you can still reproduce the issue: Please retry with a recent build. Revision r30122 contains an important dircache fix that may have caused the problem.
Comment by Wolfgang Dilg (rasferret) - Wednesday, 06 July 2011, 05:45 GMT
I think the issue is gone. I can't reproduce the crash any more.
Comment by Wolfgang Dilg (rasferret) - Wednesday, 06 July 2011, 18:59 GMT
now its a data abort at 0004CE24 (0)

r30122
Comment by Wolfgang Dilg (rasferret) - Wednesday, 06 July 2011, 19:01 GMT
there is a database_tmp.tcd in the .rockbox directory that is normally not there
Comment by sideral (sideral) - Wednesday, 06 July 2011, 20:57 GMT
This looks like it's an unrelated issue, likely in the database (given that the database_tmp.tcd file still existed).

Could you please check which function corresponds to address 4CE24 in your build? The rockbox.map file in your build directory will be of help.

If this is address is not related to the dircache, please open a new Flyspray task and repeat all relevant information there.
Comment by Wolfgang Dilg (rasferret) - Thursday, 07 July 2011, 07:52 GMT
I used the official r30122 build downloaded from the rockbox build server, so I don't have a map file available. If I have time after work I will build the firmware at home and check the map file.
Comment by Wolfgang Dilg (rasferret) - Sunday, 17 July 2011, 06:05 GMT
In the end I've found the time to build the r30122 revision. According to the map file the crash occured in the function tagcache_search.
Comment by sideral (sideral) - Thursday, 21 July 2011, 21:21 GMT
Did you actually reproduce the crash with your own build? I'm asking because just comparing addresses between two builds is nearly worthless even when building identical versions because minor differences in the build environment (compiler and linker versions) may cause link addresses to vary wildly.
Comment by Wolfgang Dilg (rasferret) - Friday, 22 July 2011, 13:21 GMT
I could not reproduce a crash since then.

Loading...