Rockbox General > Rockbox General Discussion

Dir buffer is Full? (in database)

(1/1)

polygonal:
So I was browsing the database and got this message. I choose to load the database to RAM, and the debug screen for database says "RAM: 1424048/1457224 B", which I assume is telling me how much of the RAM allocated for database is used up. It does not seem quite full yet...

Any idea as to what is the problem? Also a pointer to where in the source code is the allocated RAM usage for database set will be very helpful, since I don't quite care about battery usage and thus don't mind if the audio buffer gets smaller.

Thanks

LambdaCalculus:
Which device are you using, and what SVN build are you using?

Check the SVN build under System > Rockbox info; read the string of numbers that starts with r.

polygonal:
ipod video 60GB, with 64MB RAM. I compiled with this morning's updated svn. Don't think there is problem with rockbox though, probably just me having an abnormally big database :) Again, would like to know where I can find the (hardcoded?) allocated memory for database cache in the source code - I am all lost in tagcache.c

polygonal:
Okay, I'm searching in the wrong place firstly and secondly the problem is a different one. It has nothing to do with RAM allocation (well, not directly anyway)... The short answer is to bump up the "Max files in browser" setting, explanation is the following:

Normally if the database finds more matching entries than "max files in browse", it simply refuses to sort the list and seems to do nothing else (except setting dirfull = true, but I did not find anything that actually uses that var), so the error message "Dir buffer is full" is not displayed and things seem normal (this only applies to tagcache b/c as far as I can see, dir cache behaves differently). But when the tagnavi format specifies something like %sort and %limit, the database complains because those clauses is not possible without sorting the list first, so the error message is thrown and no entries is retrieved.

My C is rusty at the best, so correct me if I'm mistaken. I can't test my theory right now since I just mass renamed my music files and thus lost all my runtimedb data that originally caused the problem when I use them in tagnavi.

My complain is that the error message is very misleading and unhelpful :(

Llorean:
It's actually very literal. It means that the buffer for holding a list of a directory of files is full. Messages have to be short to fit on very limited screens, and it contains a very very succinct description of exactly what went wrong. What it doesn't contain is *why* it went wrong. I don't think this can really be added, because the dir buffer can be full in both the database and the filetree.

Navigation

[0] Message Index

Go to full version