> Preferences.c bug Can't judge, but find it remarkable. > 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
Those 1000 records are needed to fill the DbCache. Until then there can't be any problem. I use to print also the DbCache free space, so I can see it. #define dbCacheFlag 0x8000 UInt32 dbCacheFreeSpace, maxChunk ; MemHeapFreeBytes( 1 | dbCacheFlag, &dbCacheFreeSpace, &maxChunk) ; > This supports my hypothesis that thrashing the > cache eventually causes corruption. Agree. (Although in this case it is probably not the corruption.) Jan ----- Original Message ----- From: "Dave Carrigan" <[EMAIL PROTECTED]> To: "Palm Developer Forum" <[email protected]> Sent: Friday, March 11, 2005 5:09 PM Subject: Re: Newer and greater NVFS woes > 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/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
