Infinite Loop In "rm -fr" When Busy File Encountered

Randall R Schulz rrschulz@cris.com
Sat Apr 6 09:09:00 GMT 2002


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


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /