On Fri, Mar 11, 2005 at 10:54:09AM +0100, Jan Slodicka wrote: > > Try no. 1: on the first pass, it got to record 1718, then gave me a Fatal > > Alert: "Preferences.c, Line: 264, Pref DB Open Error" > > Hard to believe. This normally signifies another Palm OS bug in the prefs > handling. (They forget to close the database.) But how could this problem > propagate to DmQueryRecord()?
I have been fighting this Preferences.c bug in a different applications, and I noticed that application always tickled the bug when doing an Expansion Manager operation, so it seems to me that the Expansion Manager makes use of the Preferences Manager in some way. Since NVFS is almost certainly built on top of the Expansion Manager, if the NVFS cache is getting thrashed to the point of corruption, I suppose it's not unreasonable that it might tickle that bug. I will admit that out of a dozen or so tests, I only saw that one once. The rest of them were of the error 513 variety, either immediately followed by a fatal error, or a fatal error at app exit. > Did you try using DmGetRecord? I think we'll try to make similar > tests... I used DmQueryRecord exclusively, since I wanted to test reading only. In some different tests, I did try closing the database and reopening it before trying to re-read the record, and in that case, I never got the 513 repeated for a record. What I also noticed is that I didn't start to get the 513 until at least 1000 records were read (probably 15KB of data), but once I started to get it, they would be quite frequent. Closing and reopening the database did not alleviate this. This supports my hypothesis that thrashing the cache eventually causes corruption. -- Dave Carrigan Seattle, WA, USA [EMAIL PROTECTED] | http://www.rudedog.org/ | ICQ:161669680 UNIX-Apache-Perl-Linux-Firewalls-LDAP-C-C++-DNS-PalmOS-PostgreSQL-MySQL -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
