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/