I wish that were true. Below is an example that creates a 5MB database, closes it, opens it, writes to it, closes it, and does a reset. After the reset, the database disappears on the TX simulators (release & debug) and the real device. The debug simulator reports no errors. My version is fully loaded with asserts, and every pointer is valid and nothing returns an error. You don't have to create and write in the same run. And, you don't have to reset within the program - you can quit and reset later.
How much does changing the parameters affect the behavior? If your records were under 512 bytes each, do you still get the corruption? What about fewer records? The main thing I see wrong with this is that you're keeping over 10,000 records locked at one time. That's a real stress test for the MemHandleLock-based NVFS implementation. Also, what happens if you add a "SysTaskDelay(100)" before the SysReset call? -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
