On 27 May 2013, at 4:22pm, Woody Wu <narkewo...@gmail.com> wrote:

> If Yaffs2 is the cause, how can I write an effective test to exposure it?

Do you have an opportunity to format the same drive in a different format ?  
I'm not telling you to change your long-term practises, just to try a different 
format for testing.  Reformat it, run your identical testing program, and see 
if it fails in the same way.

Also I liked Richard's point: are you testing on a cheap Flash drive ?  Perhaps 
one intended only for use with FAT and therefore only tested for use with FAT ?

> [snip]
> 
> Another thing is very suspicious:  after a while of running the test
> program, I can see from my syslog that there are a log of warning messages,
> something like: Yaffs2 trunk nnnn was not erased.

Well, that sounds like it might be relevant.  See if you can find why yaffs2 
should write a report like that.  What does it indicate about what happened ?

>  On one hand, I am not
> sure if this is caused by sqlite or Yaffs2 itself, on the other hand, I
> also cannot prove this really means bad things since the program at that
> moment was still running fine.

The chances that this is a sign of a fault in SQLite3 are extremely low.  There 
are literally millions of SQLite3 installations on all sorts of hardware.  It's 
part of the OSes that run all the popular designs of smartphone (iPhone, 
Android, Windows Phone) all of which, of course, use Flash Memory for storage.  
It's possible that the VFS you're using is not compatible with yaffs2, and the 
way to test that is what we've discussed above.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to