-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 07/07/2015 02:06 PM, Brian Soby wrote: > I don't believe it's a python specific issue since the core problem > occurs in a rollback command internal to SQLlite.
Unless you configure it otherwise, pysqlite likes to parse your SQL and do extra operations behind your back (eg automatically starting and committing transactions). pysqlite also doesn't do multi-threading correctly - how do you do threading? > I don't have an easy way to recreate the problem ... That will make it very tricky. Note that these kind of issues are extremely rare in SQLite, and almost always caused by other bits of code corrupting memory, and taking out SQLite as a side effect. Try disabling as many non-SQLite extensions as possible (that are implemented in C). Also use valgrind and similar tools as memory checkers. https://www.sqlite.org/testing.html Sadly pysqlite doesn't have an easy way of tracing SQL execution without you modifying all call sites and updating its code to catch the behind your back operations. If you have the time and can update your code, you can try APSW as an alternative to pysqlite (disclosure: I am the APSW author). APSW includes a tool that lets you see all queries and data returned, as well as profiling information: http://rogerbinns.github.io/apsw/execution.html#apsw-trace You may also find these two links relevant: http://rogerbinns.github.io/apsw/pysqlite.html https://pythonhosted.org/sqmediumlite/src/apswdbapi2.py.html Roger -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlWcVZwACgkQmOOfHg372QSOjACgoSXRAijHJncTHYY6VU4dfB6Q gHIAoMT6zvydHZCvhNAFzX1azvFmMeZO =mfkI -----END PGP SIGNATURE-----