X-Spam-Check-By: sourceware.org Message-ID: <449E254E.6060601@cygwin.com> Date: Sun, 25 Jun 2006 01:55:26 -0400 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060112 Fedora/1.5-1.fc4.remi Thunderbird/1.5 Mnenhy/0.7.4.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: lockfile & link on Core Duo laptop References: <20060625041118 DOT GB22306 AT happy DOT netspace DOT org> In-Reply-To: <20060625041118.GB22306@happy.netspace.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Benjamin D wrote: > Hi! > > I've been using cygwin for a long time on my notebooks and desktops. I > recently got a Core Duo for work. Most things seem to work fine, but > lockfie didn't. I got the helpful error message: > lockfile foo > lockfile: Try praying, giving up on "foo" > > So, I downloaded the source and traced where the error was occuring. > It's happening at a call to link(2): > > #include > > int link(const char *oldpath, const char *newpath); > > Which is returning errno: > ENOENT A directory component in oldpath or newpath does not exist or is > a dangling symbolic link. > > lockfile creates a temporary file, then links that to the file you > specify on the command line. When I was tracing through, I could see > that the temporary file was created. That suggests to me that the path > and permissions are OK. It just can't link. I ran it through strace, and > see: > > 51 77145 [main] lockfile 4080 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000 > 50 77195 [main] lockfile 4080 fhandler_base::set_flags: filemode set to binary > 49 77244 [main] lockfile 4080 fhandler_base::open: 0 = NtCreateFile (0x6B4, 20100, C:\cygwin\tmp\_w_.CsgnEB.bdodge-lt, io, NULL, 0, 7, 1, 4400, NULL, 0) > 53 77297 [main] lockfile 4080 fhandler_base::open: 1 = fhandler_base::open (C:\cygwin\tmp\_w_.CsgnEB.bdodge-lt, 0x110000) > 51 77348 [main] lockfile 4080 fhandler_base::open_fs: 1 = fhandler_disk_file::open (C:\cygwin\tmp\_w_.CsgnEB.bdodge-lt, 0x10000) > 5656 83004 [main] lockfile 4080 fhandler_disk_file::link: CreateHardLinkA failed > 85 83089 [main] lockfile 4080 seterrno_from_win_error: /netrel/src/cygwin-1.5.19-4/winsup/cygwin/fhandler_disk_file.cc:786 windows error 3 > 57 83146 [main] lockfile 4080 geterrno_from_win_error: windows error 3 == errno 2 > 50 83196 [main] lockfile 4080 __set_errno: void seterrno_from_win_error(const char*, int, DWORD):310 val 2 > 51 83247 [main] lockfile 4080 fhandler_base::close: closing '/tmp/_w_.CsgnEB.bdodge-lt' handle 0x6B4 > 75 83322 [main] lockfile 4080 link: -1 = link (_w_.CsgnEB.bdodge-lt, foo) > 50 83372 [main] lockfile 4080 lstat64: entering > 49 83421 [main] lockfile 4080 normalize_posix_path: src _w_.CsgnEB.bdodge-lt > 48 83469 [main] lockfile 4080 cwdstuff::get: posix /tmp > > > So, I tried just linking a file: > > $ ls -il foo bar; touch foo && link foo bar && ls -il foo bar > ls: foo: No such file or directory > ls: bar: No such file or directory > 2251799813741751 -rw------- 2 bdodge mkgroup-l-d 0 Jun 24 20:56 bar > 2251799813741751 -rw------- 2 bdodge mkgroup-l-d 0 Jun 24 20:56 foo > > Works fine, so I try seeing what happens with strace: > > $ ls -il foo bar; touch foo && strace link foo bar > strace.out 2>&1 && ls -il foo bar > ls: foo: No such file or directory > ls: bar: No such file or directory > ls: bar: No such file or directory > 2814749767163063 -rw------- 1 bdodge mkgroup-l-d 0 Jun 24 20:58 foo > > It doesn't work when run under strace. strace.out is below. > > Any suggestions on how to make link work reliably on this system? I've > tried using the revs of lockfile(procmail) & cygwin from my old laptop > and the latest install. Any chance the source of this problem is related to this: -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/