"Bert Huijben" <b...@qqmail.nl> writes: > You get in this branch if a previous atomic initialization call failed: the > callback function failed and returned an error. This result is then ignored > in some code paths. > > It is most likely not caused by the atomic operations failing itself, but > more likely by an initialization error in a third party library.
Ah, yes! When we first open/read the rep-cache during the commit the failure is not treated as a hard error. The subsequent open in the post-commit then returns the atomic error. If the rep-cache has been setup you should see: $ sqlite3 repo/db/rep-cache.db "select * from sqlite_master" table|rep_cache|rep_cache|3|CREATE TABLE rep_cache ( hash TEXT NOT NULL PRIMARY KEY, revision INTEGER NOT NULL, offset INTEGER NOT NULL, size INTEGER NOT NULL, expanded_size INTEGER NOT NULL ) index|sqlite_autoindex_rep_cache_1|rep_cache|4| I suspect you will see no output because init_sqlite has failed. I see you are using --with-sqlite=/usr/local. Did you build sqlite with thread support? We should check which sqlite is being picked at runtime: either use "ldd executable" or identify the process ID and grep through /proc/NNN/maps, look libsqlite. -- Philip