delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/06/25/01:55:47

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-list-only-lh AT cygwin DOT com>
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>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <unistd.h>
> 
>        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:

<http://cygwin.com/ml/cygwin/2006-06/msg00186.html>

-- 
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019