bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(no subject)


From: tmp901l
Subject: (no subject)
Date: Tue, 17 Oct 2000 17:51:12 +0200 (METDST)

>Submitter-Id:   net
>Originator:     Paul Lieverse
>Organization:
>Confidential:  no 
>Synopsis:      safe_location() called for remote repositories; might give 
>problems if local path 'hangs'. 
>Severity:      non-critical 
>Priority:      
>Category:      cvs <= 1.11 
>Class:         sw-bug 
>Release:       cvs-1.11
>Environment:
        
System: SunOS cobalt 5.6 Generic_105181-11 sun4u sparc SUNW,Ultra-4, but also 
Linux and probably others
Architecture: sun4

>Description:
If a checkout is done from a remote repository (e.g. with the :ext: method,
or :pserver: method, but probably also with :kserver: method), a *local*
check is done on the path of the repository (safe_location()).
If the call to readlink() on this path gives problems, e.g. if it contains
some badly configured automounted path with a large timeout (which is the
case I ran into), the checkout will hang until the readlink() call times
out. The safe_location() check is IMHO not necessary for remote repositories,
unless the remote host is localhost.
>How-To-Repeat:
For the real problematic behavior you'll need a badly configured 
automounter or so. But to see the effect you can try the following.
* Have some local automounted directory, say /mnt
* Make sure that the automounters writes some log entries on mounts or
  attempted mounts.
* do a cvs -d :ext:user@remote.host:/mnt/nonexistingpath co test
  To see the effect, remote.host does not even have to exits.
* Check your log files. On my Linux machine it shows:
  Oct 17 17:46:54 host automount[672]: attempting to mount entry 
/mnt/nonexistingpath
  Oct 17 17:46:54 host automount[4477]: lookup(file): lookup for 
nonexistingpath failed
>Fix:
Workaround: remove the readlink() call from safe_location(). This works
            for me.
Real fix: add some test before calling safe_location to see whether
          the repository is remote or not. (test on cvs_method?)
        



reply via email to

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