delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/02/03/11:06:27

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
Date: Thu, 03 Feb 2005 09:04:44 -0700
From: Mark Paulus <mark DOT paulus AT mci DOT com>
Subject: Re: FindNextFileA (fhandler_disk_file::readdir) Bizareness under NTFS - Resolved
In-reply-to: <0I9700AKU030KR@pmismtp02.mcilink.com>
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Message-id: <0IBC002HSFBWL8@pmismtp01.mcilink.com>
MIME-version: 1.0
Priority: Normal
X-IsSubscribed: yes

I finally got enough time to track down this issue, and
it comes down to a perl issue.  Seems that a perl script is
creating the file, but it isn't doing a close on the file, so it's
making the file hang around a bit too long (like maybe
it's a race condition of NTFS).

Anyway, I patched the perl script with an appropriate close (IN....)
statement, and the issue/bizareness goes away.



On Thu, 23 Dec 2004 13:40:12 -0700, Mark Paulus wrote:

>I have this really wierd/Bizarre situation, and wonder
>if anyone else has stumbled upon this:

>I have set /usr/src to be a managed link and it's located
>at c:\cygmanaged\src

>I have a directory /usr/src/cygwin-equivs/cygwin-base
>and under it there are some additional directories.

>the thing thats causing me some wierd grief is that 
>fhandler_disk_file::readdir is telling me about a file that it sees
>that DOES NOT exist.  And, it only does it when in a 
>grandparent directory.  This causes find to exit with:  

>        strace --mask=all --output=strace.out find . -type f -a \( -name \#\*\#
>-o -name \*\~ -o -name DEADJOE -o -name \*.orig -o -name \*.rej -o -name \*.bak
>-o -name .\*.orig -o -name .\*.rej -o -name .SUMS -o -name TAGS -o -name core -o
> \( -path \*/.deps/\* -a -name \*.P \) \) -print
>find: ./debian/README.Debian.in: No such file or directory

>I have modified fhandler_disk_file::readdir to print an additional output
>line, and here is the snippet that I'm referring to:
>   42 1666103 [main] find 6456 fhandler_disk_file::opendir: 0x100B3DA8 = opendir (/usr/src/cygwin-equivs/cygwin-base/equivs/debian)
>  192 1666295 [main] find 6456 fhandler_disk_file::readdir: actually got '.'
>   49 1666344 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (.)
>   66 1666410 [main] find 6456 fhandler_disk_file::readdir: actually got '..'
>   38 1666448 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (..)
>   44 1666492 [main] find 6456 fhandler_disk_file::readdir: actually got '%52%45%41%44%4D%45.%44ebian'
>   41 1666533 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (%52%45%41%44%4D%45.%44ebian)
>   41 1666574 [main] find 6456 fhandler_disk_file::readdir: actually got '%52%45%41%44%4D%45.%44ebian.in'
>   40 1666614 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (%52%45%41%44%4D%45.%44ebian.in)
>  159 1666773 [main] find 6456 fhandler_disk_file::readdir: actually got 'changelog'
>   43 1666816 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (changelog)
>   41 1666857 [main] find 6456 fhandler_disk_file::readdir: actually got 'control'
>   38 1666895 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (control)
>   40 1666935 [main] find 6456 fhandler_disk_file::readdir: actually got 'copyright'
>   52 1666987 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (copyright)
>   40 1667027 [main] find 6456 fhandler_disk_file::readdir: actually got 'docs'
>   38 1667065 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (docs)
>   40 1667105 [main] find 6456 fhandler_disk_file::readdir: actually got 'rules'
>   38 1667143 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (rules)
>   88 1667231 [main] find 6456 fhandler_disk_file::readdir: 0x0 = readdir (0x100B3DA8)
>   44 1667275 [main] find 6456 fhandler_disk_file::closedir: 0 = closedir (0x100B3DA8)
>  121 1667396 [main] find 6456 closedir: 0 = closedir (0x22EAA8)

>What's so bizarre is that the file README.Debian.in DOES NOT exist.
>C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>dir
> Volume in drive C has no label.
> Volume Serial Number is B8DA-46B4

> Directory of C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian

>12/23/2004  01:26 PM    <DIR>          .
>12/23/2004  01:26 PM    <DIR>          ..
>12/23/2004  01:26 PM               770 %52%45%41%44%4D%45.%44ebian
>12/23/2004  01:26 PM               137 changelog
>12/23/2004  01:26 PM               326 control
>12/23/2004  01:26 PM               939 copyright
>12/23/2004  01:26 PM                 0 docs
>12/23/2004  01:26 PM             1,100 rules
>               6 File(s)          3,272 bytes
>               2 Dir(s)  11,870,830,592 bytes free

>C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>attrib
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\%52%45%41%44%4D%45.%44ebian
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\changelog
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\control
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\copyright
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\docs
>A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\rules

>C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>

>Does anyone have any idea where FindNextFileA is getting this extra file from?

>Oh yeah, if I do this very same command down one directory, it works as expected, and does not
>return the extra file.  Go Figure.




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





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