On 21 Dec 2017, at 9:47pm, Nikhil Deshpande <ndeshpa...@vmware.com> wrote:
> We have an application that in a Linux VM that's running into > SQLite DB corruption (after weeks and months of running, > 4 such instances yet in different VMs). > > [snip] > > There were no power-off or reboots in near time vicinity when the > corruption was detected. We have poured over this document > https://sqlite.org/howtocorrupt.html > many times to check if any of the conditions could apply, > but so far no leads yet. > > We have also been unable to reproduce the corruption by stressing > application's SQLite DB read/write code paths for a week. Well done for finding the appropriate web page. You’ve done all the easy stuff which leaves us with just the hard questions. These won’t necessarily give us an answer, but they might remind one of your readers of something. When "pragma integrity_check" detects an error, does "PRAGMA quick_check" do too ? Is your database file really about 65 Meg in size ? Just roughly. How is your application terminated ? User action or self-determination ? Does your application call sqlite3_close() ? Does it cbeck the code returned ? Does your application call sqlite3_shutdown() ? Does it cbeck the code returned ? How does your VM get shutdown ? Does it correctly shut down your application before it quits ? Can you include a "pragma integrity_check" at startup ? Can you include a "pragma integrity_check" executed at regular intervals ? Simon. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users