On 7 Nov 2017, at 1:11am, Nicholas Lovell <nicholas.lov...@tivo.com> wrote:
> In terms of pragmas during normal usage: user_version, recursive_triggers,
> cache_size, mmap_size (max size is set to 15 MiB; which covers the files in
> question entirely), journal_mode (=wal). The only somewhat recent addition is
> mmap (along with an upgrade from 126.96.36.199 to 3.16.2).
Try not using memory mapping. I don’t have a specific reason to think it’s
causing the problem but it’s easy to turn off without modifying much of your
source code, and it has caused problems on one platform in the past.
> These databases are stored on a local disk (admittedly using an encrypting
> loop-back adapter). I doubt that I'll necessarily be able to track down what
> is causing the corruption given how infrequently it ends up occurring,
> storing the corrupt copies is my attempt at being able to track them down
> (since they are very infrequent and automatically "recovered" from).
Encrypting adapters should not be causing a problem.
I forgot to ask whether you’re using simultaneously accessing the database from
multiple threads or processes or applications. If you’re doing this, please
give details, including of your disk format, since this can be an easy cause of
corruption. If not, this simplifies things considerably.
sqlite-users mailing list