> 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/

Reply via email to