I encountered this problem and agree with most of the diagnosis.  

The real problem is that sqlite assumes it "owns" the temporary
transaction file that it created, and can do anything it wants with it; 
for example read, rename, or delete it.  Any other process which 
gets it's hooks into the file can obviously invalidate this assumption.

Programs that agressively interfere, such as virus scanners and tortoise,
make the problem obvious, but many legitimate but infrequent processes -
such as file system backup - could cause rare and impossible to diagnose
random failures.

The obvious quick fix is to retry these file operations that must
succeed, but the underlying problem is a fundamental one that deserves
to be addressed.

Reply via email to