[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: "svn commit" hangs -> select(0, NULL, NULL, NULL, {0, 25000}) = 0 (Timeout)

From: Daniel Rall <dlr_at_finemaltcoding.com>
Date: 2005-10-24 19:37:00 CEST

Hi Alexander. Please direct type of question is best directed to our users.

On Sun, 23 Oct 2005, Alexander Fieroch wrote:
...
> "svn commit" does not work anymore for a project with the repository on
> my computer. Another project on an other server using svn is still
> working. So I think svn can't be broken but the database has to?
> After running the command "svn commit" vi pops up and I can write the
> log. But after exiting the editor nothing happens.
 
It would also be helpful to mention that you're using the BerkeleyDB FS
backend, and tell us which repository access mechanism you're using
(given strace output and "on my computer" comment, ra_local?).

> strace shows me where svn is hanging:
>
> [...]
> fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x2aaaaacf7000
> read(4, "cpu 25201 5031 26872 491138 120"..., 1024) = 737
> read(4, "", 1024) = 0
> close(4) = 0
> munmap(0x2aaaaacf7000, 4096) = 0
> stat("/usr/local/svnroot/db/DB_CONFIG", {st_mode=S_IFREG|0770,
> st_size=1955, ...}) = 0
> open("/usr/local/svnroot/db/DB_CONFIG", O_RDONLY) = 4
> fstat(4, {st_mode=S_IFREG|0770, st_size=1955, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x2aaaaacf7000
> read(4, "# This is the configuration file"..., 4096) = 1955
> read(4, "", 4096) = 0
> close(4) = 0
> munmap(0x2aaaaacf7000, 4096) = 0
> stat("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
> stat("/usr/local/svnroot/db/__db.001", {st_mode=S_IFREG|0770,
> st_size=8192, ...}) = 0
> open("/usr/local/svnroot/db/__db.001", O_RDWR|O_CREAT|O_EXCL, 0666) = -1
> EEXIST (File exists)
> open("/usr/local/svnroot/db/__db.001", O_RDWR|O_CREAT|O_EXCL, 0666) = -1
> EEXIST (File exists)
> open("/usr/local/svnroot/db/__db.001", O_RDWR|O_CREAT|O_EXCL, 0666) = -1
> EEXIST (File exists)
> open("/usr/local/svnroot/db/__db.001", O_RDWR) = 4

You're able to open the DB here.

> fcntl(4, F_SETFD, FD_CLOEXEC) = 0
> fstat(4, {st_mode=S_IFREG|0770, st_size=8192, ...}) = 0
> close(4) = 0
> open("/usr/local/svnroot/db/__db.001", O_RDWR) = 4
> fcntl(4, F_SETFD, FD_CLOEXEC) = 0
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x2aaaaacf7000
> close(4) = 0

...and map it into memory here.

> 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, 25000}) = 0 (Timeout)
> select(0, NULL, NULL, NULL, {0, 25000}) = 0 (Timeout)
...
> The last lines are repeating continuously. What is the problem?

Waiting for activity on stdin.

> Is the database broken? If so, what can I do to rebuild the database?

It's not clear that there's actually a problem with your DB. You could try
'svnadmin recover' to confirm that (this is mentioned in the book).

Does your commit work if you explicitly pass the log message via the -m or
-F flag? Are you sure you have write permission to the location that you're
running 'svn commit' from (so that your log message can be saved)?

> Checking out a fresh project and doing a "svn commit" leads to the same
> error.
...
> PS: tested with svn version 1.2.3 and version 1.1.4

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Oct 24 19:36:50 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.