On 2 Apr 2017, at 2:16am, J Decker <d3c...@gmail.com> wrote: > there's no corruption.
There was corruption. The message you reported: > Sqlite3 Err: (283) recovered 6942 frames from WAL file is exactly a message reporting that the database was corrupt. This corruption appears, in this case, to be the result of the database not having been closed correctly. > Under kill -9 or TerminateProcess (taskmgr, end process) , the application > has no chance to do anything, it's not that the application is doing > something incorrectly. Are you routinely using "kill -9" to terminate that application ? In other words, is that what the application should expect, rather than receiving a "term" message ? If so, the application should have the SQLite database open only while it’s being accessed. That’s the best way, though not perfect, to ensure that this problem does not happen again. > but the operations happen in the first 120ms of the program and never > later, so if the program runs for more than 1 second sqlite is stable and > has 0 active statements. SQLite depends on having its database closed correctly using sqlite3_close(). If that’s not happening, you may experience more problems like the one you reported. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users