"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

Reply via email to