subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksandr Sidorenko <asidore...@cashontime.com>
Subject Re: "Couldn't open rep-cache database" (post commit FS processing)
Date Wed, 16 Nov 2011 16:10:14 GMT
> "Bert Huijben" <bert@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.

The sqlite command worked (I see the expected output), but I suspect that's because the rep-cache.db
file was already there (since 1.6.12). If I move it, though, the file is NOT recreated.

greping through /proc/xxx/maps gives me the following:

2a96fc4000-2a97058000 r-xp 00000000 08:01 18104376 /usr/local/lib/libsqlite3.so.0.8.6
2a97058000-2a97158000 ---p 00094000 08:01 18104376 /usr/local/lib/libsqlite3.so.0.8.6
2a97158000-2a9715c000 rw-p 00094000 08:01 18104376 /usr/local/lib/libsqlite3.so.0.8.6

sqlite was built with default options, but "--enable-threadsafe" defaults to "yes" if it's
not used, so I guess it *is* built with thread support?


Mime
View raw message