Greetings,

I have encountered a problem in "rm" when used with the "-f" and "-r" 
options and a busy and hence unremovable file is encountered.

When "rm -fr" encounters a busy and hence unremovable file, it goes into an 
infinite loop consuming as much CPU time as it can get until it is forcibly 
terminated. The error is completely repeatable as long as the file remains 
busy by virtue of being open in another program.

The file system is NTFS and the mount is binmode. The system is Windows 
2000 Pro with SP2 and security patches installed.

This is an up-to-date Cygwin installation that is exhibiting no other 
anomalous behavior.

In reference to the attached "cygcheck -rs" output, this happened on "C:" 
"/cygdrive/c" (reached via a symlink "/c -> /cygdrive/c").


% rm --version
rm (fileutils) 4.1
Written by Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering.

Copyright (C) 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



My hunch, unencumbered by the source code, is that the directory access 
libraries as implemented in Cygwin / Windows is, in some sense, "dynamic" 
(as opposed to a statically built "snapshot" that is acquired once and kept 
internally) and hence keeps presenting rm with the same unsuccessfully 
removed and unremovable file over and over again.


Randall Schulz
Mountain View, CA USA

Cygwin Win95/NT Configuration Diagnostics
Current System Time: Sat Apr 06 08:49:25 2002

Windows 2000 Professional Ver 5.0 Build 2195 Service Pack 2

Path:   .
        D:\cygwin\home\RSchulz\bin
        D:\cygwin\usr\sbin
        D:\cygwin\usr\X11R6\bin
        c:\j2sdk1.4.0\bin
        D:\cygwin\usr\local\bin
        D:\cygwin\bin
        D:\cygwin\bin
        d:\Apps\texmf\miktex\bin
        d:\Perl\bin\
        d:\Tcl\bin\
        d:\WINNT\system32
        d:\WINNT
        d:\WINNT\system32\WBEM
        d:\Apps\XEmacs\XEmacs-21.1.14\i586-pc-win32
        d:\Apps\GNUEmacs\emacs-20.7\bin
        D:\cygwin\bin
        D:\cygwin\usr\X11R6\bin
        .
        d:\WN16\BIN

SysDir: D:\WINNT\System32
WinDir: D:\WINNT

CYGWIN = `binmode ntsec'
HOME = `D:\cygwin\home\RSchulz'
MAKE_MODE = `unix'
PWD = `/home/RSchulz'
TCL_LIBRARY = `D:\WN16\LIB\TCL7.6'
USER = `RSchulz'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
  (default) = 0x00000200
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x00000022
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/dev/fd0
  (default) = `\\.\A:'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
  (default) = 0x00000200
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `D:/cygwin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `D:/cygwin/bin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `D:/cygwin/lib'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options

a:  fd           N/A    N/A                    
c:  hd  NTFS   10001Mb  34% CP CS UN PA FC     WIN2K
d:  hd  NTFS   11664Mb  49% CP CS UN PA FC     Win2K2niW
e:  hd  NTFS    4027Mb  94% CP CS UN PA FC     Stash
f:  cd           N/A    N/A                    
g:  cd  CDFS     647Mb 100%    CS UN           BOOKSHELF2K
h:  hd  FAT32    649Mb   1% CP    UN           BURNME

\\.\A:         /dev/fd0   user    binmode
.              /cygdrive  user    binmode,noumount
D:/cygwin      /          system  binmode
D:/cygwin/bin  /usr/bin   system  binmode
D:/cygwin/lib  /usr/lib   system  binmode

Found: D:\cygwin\bin\bash.exe
Found: D:\cygwin\bin\cat.exe
Found: D:\cygwin\bin\cpp.exe
Found: D:\cygwin\bin\find.exe
Found: D:\cygwin\bin\gcc.exe
Found: D:\cygwin\bin\gdb.exe
Found: D:\cygwin\bin\ld.exe
Found: D:\cygwin\bin\ls.exe
Found: D:\cygwin\bin\make.exe
Found: D:\cygwin\bin\sh.exe

   56k 2000/12/03 D:\cygwin\bin\cygbz21.0.dll
  621k 2002/01/16 D:\cygwin\bin\cygcrypto.dll
  107k 2002/03/07 D:\cygwin\bin\cygcurl-2.dll
   50k 2002/03/17 D:\cygwin\bin\cygexslt-0.dll
   45k 2001/04/25 D:\cygwin\bin\cygform5.dll
   35k 2002/01/09 D:\cygwin\bin\cygform6.dll
   19k 2002/02/20 D:\cygwin\bin\cyggdbm.dll
   17k 2001/06/28 D:\cygwin\bin\cyghistory4.dll
   20k 2002/01/13 D:\cygwin\bin\cyghistory5.dll
   22k 2001/12/13 D:\cygwin\bin\cygintl-1.dll
   21k 2001/06/20 D:\cygwin\bin\cygintl.dll
   81k 2000/12/05 D:\cygwin\bin\cygitcl30.dll
   35k 2000/12/05 D:\cygwin\bin\cygitk30.dll
   45k 2002/02/08 D:\cygwin\bin\cygjbig1.dll
  119k 2002/02/09 D:\cygwin\bin\cygjpeg6b.dll
   25k 2002/03/17 D:\cygwin\bin\cygltdl-3.dll
   26k 2001/04/25 D:\cygwin\bin\cygmenu5.dll
   20k 2002/01/09 D:\cygwin\bin\cygmenu6.dll
  156k 2001/04/25 D:\cygwin\bin\cygncurses++5.dll
  175k 2002/01/09 D:\cygwin\bin\cygncurses++6.dll
  226k 2001/04/25 D:\cygwin\bin\cygncurses5.dll
  202k 2002/01/09 D:\cygwin\bin\cygncurses6.dll
   15k 2001/04/25 D:\cygwin\bin\cygpanel5.dll
   12k 2002/01/09 D:\cygwin\bin\cygpanel6.dll
   40k 2001/11/21 D:\cygwin\bin\cygpcre.dll
   39k 2001/11/21 D:\cygwin\bin\cygpcreposix.dll
  170k 2002/01/21 D:\cygwin\bin\cygpng2.dll
  108k 2001/06/28 D:\cygwin\bin\cygreadline4.dll
  121k 2002/01/13 D:\cygwin\bin\cygreadline5.dll
   66k 2001/11/20 D:\cygwin\bin\cygregex.dll
  156k 2002/01/16 D:\cygwin\bin\cygssl.dll
  390k 2000/12/05 D:\cygwin\bin\cygtcl80.dll
    5k 2000/12/05 D:\cygwin\bin\cygtclpip80.dll
   10k 2000/12/05 D:\cygwin\bin\cygtclreg80.dll
  253k 2002/02/10 D:\cygwin\bin\cygtiff3.dll
  623k 2000/12/05 D:\cygwin\bin\cygtk80.dll
 1248k 2002/03/17 D:\cygwin\bin\cygxml2-2.dll
   41k 2002/01/20 D:\cygwin\bin\cygXpm-noX4.dll
   46k 2002/01/20 D:\cygwin\bin\cygXpm-X4.dll
  152k 2002/03/17 D:\cygwin\bin\cygxslt-1.dll
   15k 2002/03/17 D:\cygwin\bin\cygxsltbreakpoint-1.dll
   50k 2002/03/12 D:\cygwin\bin\cygz.dll
  751k 2002/02/25 D:\cygwin\bin\cygwin1.dll
    Cygwin DLL version info:
        DLL version: 1.3.10
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 51
        Shared data: 3
        DLL identifier: cygwin1
        Mount registry: 2
        Cygnus registry name: Cygnus Solutions
        Cygwin registry name: Cygwin
        Program options name: Program Options
        Cygwin mount registry name: mounts v2
        Cygdrive flags: cygdrive flags
        Cygdrive prefix: cygdrive prefix
        Cygdrive default prefix: 
        Build date: Mon Feb 25 11:14:34 EST 2002
        Shared id: cygwin1S3


Cygwin Package Information
Package             Version             
ash                 20020131-1          
autoconf            2.53-1              
autoconf-devel      2.52-4              
autoconf-stable     2.13-4              
automake            1.6a-1              
automake-devel      1.5b-1              
automake-stable     1.4p5-5             
bash                2.05a-3             
bc                  1.06-1              
binutils            20011002-1          
bison               1.34-1              
byacc               1.9-1               
bzip2               1.0.1-6             
clear               1.0-1               
compface            1.4-5               
cpio                2.4.2               
cron                3.0.1-6             
crypt               1.0-1               
ctags               5.2-1               
curl                7.9.5-1             
cvs                 1.11.0-1            
cygrunsrv           0.95-1              
cygrunsrv-src       0.95-1              
cygutils            1.0.0-1             
cygwin              1.3.10-1            
dejagnu             20010117-1          
diff                0.0                 
ed                  0.2-1               
expect              20010117-1          
figlet              2.2-1               
file                3.37-1              
fileutils           4.1-1               
findutils           4.1                 
flex                2.5.4-1             
fortune             1.8-2               
gawk                3.0.4-1             
gcc                 2.95.3-5            
gdb                 20010428-3          
gdbm                1.8.0-4             
gdbm-src            1.8.0-4             
gettext             0.10.40-1           
ghostscript         6.51-4              
ghostscript-src     6.51-4              
gperf               0.0                 
grep                2.5g                
grep-src            2.5g                
groff               1.17.2-1            
gzip                1.3.2-1             
indent              2.2.7-2             
inetutils           1.3.2-17            
irc                 20010101-1          
jbigkit             1.2-6               
jpeg                6b-7                
keychain            1.8-1               
less                374-1               
libintl             0.10.38-3           
libintl1            0.10.40-1           
libncurses5         5.2-1               
libncurses6         5.2-8               
libpng              1.0.12-1            
libpng2             1.0.12-1            
libreadline4        4.1-2               
libreadline5        4.2a-1              
libtool             20020202a-1         
libtool-devel       20020316-1          
libtool-stable      1.4.2-2             
libxml2             2.4.17-1            
libxslt             1.0.13-1            
links               0.96-1              
login               1.4-3               
lynx                2.8.4-1             
m4                  0.0                 
make                3.79.1-5            
man                 1.5g-2              
mingw               20010917-1          
mingw-runtime       1.2-1               
mktemp              1.4-1               
more                2.11o-1             
mt                  2.0.1-1             
mutt                1.2.5i-6            
nano                1.0.7-1             
ncftp               3.1.3-1             
ncurses             5.2-8               
newlib-man          20001118-1          
opengl              1.1.0-6             
openssh             3.1p1-1             
openssl             0.9.6c-3            
openssl-devel       0.9.6c-2            
patch               2.5-3               
patch-src           2.5-3               
pcre                3.7-1               
perl                5.6.1-2             
pkgconfig           0.10.0-1            
popt                1.6.2-1             
postgresql          7.2-2               
python              2.2-1               
rcs                 5.7-2               
readline            4.2a-1              
regex               4.4-2               
robots              2.0-1               
rsync               2.5.4-1             
rxvt                2.7.2-10            
rxvt-src            2.7.2-10            
sed                 3.02-1              
sh-utils            2.0-2               
sharutils           4.2.1-2             
shutdown            1.2-2               
squid               2.4-STABLE20010508  
ssmtp               2.38.7-3            
tar                 1.13.19-1           
tcltk               20001125-1          
tcsh                6.11.00-4           
tcsh-src            6.11.00-4           
termcap             20010825-1          
terminfo            5.2-1               
tetex-beta          20001218-4          
texinfo             4.1-1               
texmf               20000804-2          
texmf-base          20000804-2          
texmf-doc           20000804-2          
texmf-extra         20000804-2          
texmf-tiny          20000804-2          
textutils           2.0.21-1            
tiff                3.5.7-1             
tiff-src            3.5.7-1             
time                1.7-1               
ttcp                19980512-1          
ttcp-src            19980512-1          
units               1.77-1              
unzip               5.41-1              
vim                 6.1-2               
w32api              1.2-2               
wget                1.8.1-1             
wget-src            1.8.1-1             
which               1.5-1               
whois               4.5.17-1            
xpm-nox             4.2.0-1             
zip                 2.3-1               
zlib                1.1.4-1             

Use -h to see help about each section

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to