[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: No CVS working, despite of SSH connection
From: |
schnumsel |
Subject: |
Re: No CVS working, despite of SSH connection |
Date: |
14 Nov 2006 23:44:33 -0800 |
User-agent: |
G2/1.0 |
Bulgrien, Kevin schrieb:
> I have tried this a few times when I did not have a system built with debug
> symbols. Try running cvs under strace and capture the results. You should
> see evidence of all the file system accesses up to the point where it dies.
>
> For example:
>
> $ strace cvs update
>
Hello Kevin, thats a good hint! Thanks a lot. Nevertheless i do not
understand it (or not completely). i think it is - as larry assumed -
the unionfilesystem which is causing the problem:
i copied the strace output (well, part of it), lets see if i understand
it right, what is happening.
the command was
strace cvs version
in /home/snm
so:
[...]
> access("/home/snm/.cvsrc", R_OK) = -1 ENOENT (No such file or
> directory)
Well this is clear :)
> time(NULL) = 1163575159
> lstat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> lstat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
so i guess here it is looking for the working directory
> openat(AT_FDCWD, "..", O_RDONLY|O_LARGEFILE) = 3
cvs goes up one directory
> fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> fcntl64(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
> getdents64(3, /* 7 entries */, 65536) = 192
everything ok. found seven entries in /home (which is correct)
> fstatat64(3, "snm", {st_mode=S_IFDIR|0755, st_size=4096, ...},
> AT_SYMLINK_NOFOLLOW) = 0
no idea what that is... guess no problem, checking for snm
> openat(3, "..", O_RDONLY|O_LARGEFILE) = 4
going up one more level
> fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> close(3) = 0
> fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> fcntl64(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
> getdents64(4, /* 29 entries */, 65536) = 768
so 29 entries in "/". true.
[...]
> fstatat64(4, "home", {st_mode=S_IFDIR|0755, st_size=4096, ...},
> AT_SYMLINK_NOFOLLOW) = 0
[... omitted the other 28, there is a difference because why is it
checking everything, not only "home"]
so now it is getting interesting: without going up one more level,
which is probably due to the union-fs it does not find any entries any
more. why? no idea.
>getdents64(4, /* 0 entries */, 65536) = 0
>close(4) = 0
> write(2, "cvs [version aborted]: cannot ge"..., 79
> cvs [version aborted]: cannot get working directory: No such file or directory
well, here we find the problem, but how can we solve it?
best regards,
willi