info-cvs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]