Yikes -- out of curiosity, I just ran "svnlook tree ...". It quickly
spewed reams of data at me, so I killed it with a quick Ctrl-C.
Now my repository is (slightly) hosed: I can't get diffs out. With
svnlook on the server, it just hangs. Running strace reveals that
someone is calling select() on an empty fileset, with timeouts
increasing geometrically up to 1 sec:
[...]
open("/data/subversion/repository/db/strings", O_RDWR|O_LARGEFILE) = 9
fcntl64(9, F_SETFD, FD_CLOEXEC) = 0
fstat64(9, {st_mode=S_IFREG|0644, st_size=147283968, ...}) = 0
open("/data/subversion/repository/locks/db.lock", O_RDONLY) = 10
fcntl64(10, F_SETLKW, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0
[... a whole bunch of brk() calls...]
select(0, NULL, NULL, NULL, {0, 1000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 64000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 128000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 256000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 512000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
[...continue, presumably forever...]
Running "svn diff" on a remote http client at least doesn't hang, but:
$ svn diff -r PREV lib/CHANGES.txt
svn: Berkeley DB error
svn: REPORT request failed on /repos/trunk/vfab/lib
svn:
Berkeley DB error while checkpointing after Berkeley DB transaction for filesystem /data/subversion/repository/db:
DB_INCOMPLETE: Cache flush was unable to complete
I presume I have to run "svnadmin recover" on the server. This is more
than a bit worrying though: for starters, why does svnlook need
read-write access to the repository? Why does it hose the repository if
I just kill it with Ctrl-C? That seems rather flaky.
--
Greg Ward - software developer gward@mems-exchange.org
MEMS Exchange http://www.mems-exchange.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jan 17 20:42:49 2003