This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cygwin 1.3.11(CVS): "rm -f" no longer works on non-existant files


Hi,

My System:
CYGWIN_ME-4.90 DRAGON 1.3.11(0.53/3/2) 2002-05-30 08:05 i686 unknown

Ever since yesterday, I've notice a peculiar bug in the compiled version
of the cygwin cvs sources.  I first compiled it in the morning and
installed as usual.  Then I noticed in the afternoon that some new
features were added, so I again compiled and installed.  This morning I
noticed that there were some fixes for the perfomance improvement of stat,
so I once again compiled and installed.  It is when I attempted "make
install" that I noticed the problem.  When it got to the
"i686-pc-cygwin/winsup/cygwin" directory and was processing cygserver.exe
binary is when it craped out.  The specific command was:

"/bin/sh /usr/src/cygwin-src/src/install-sh -c  cygserver.exe
/usr/src/cygwin-src/install/bin/cygserver.exe"

which returned:

"rm: cannot remove `/usr/src/cygwin-src/install/bin/cygserver.exe'"

I checked the permissions on the install and install/bin directories, and
they were writable.  I successfully created a file and then removed it
using "touch foo; rm foo".  I noted the install/bin directory did NOT as
of yet contain cygserver.exe.  This piqed my curiosity, so I decided to
debug the install-sh script to see what was going on using /bin/sh -x.  I
discovered that it was trying to execute the following command:

"rm -f -f /usr/src/cygwin-src/install/bin/cygserver.exe"

The target was non-existant, as stated earlier.  This was even more
interesting, as it appeared that rm was not processing the "force" flag. 
I checked under linux to see if passing rm the "-f" twice would cause any
issue, and it worked fine in linux.  So I decided to run a strace on the
command to provide debugging information for you.  It resulted in a
stackdump producing the following exception:

"96172 [main] RM 106319619 handle_exceptions: Exception:
STATUS_ACCESS_VIOLATION"

I have attached the stackdump and strace in strace+stackdump.1.tar.bz2.
To further test, I decided to "see" what would happen if there existed a
target.  I ran "touch /usr/src/cygwin-src/install/bin/cygserver.exe" and
then executed the install-sh script again, which returned a different
error this time:

"mv /usr/src/cygwin-src/install/bin/#inst.106307575#
/usr/src/cygwin-src/install/bin/cygserver.exe"

producing:

"mv: cannot stat `/usr/src/cygwin-src/install/bin/cygserver.exe'"

So now something is going on with mv as well?  It was at this point I am
making an educated guess it has to do with calls rm and mv are making to
the cygwin1.dll (which is beyond my level of expertise).  I decided to run
an strace on the mv that the shell script was trying to do, and the
results were the following exception:

"57016 [main] MV 106402307 handle_exceptions: Exception:
STATUS_ACCESS_VIOLATION"

I have attached the stackdump and strace in strace+stackdump.2.tar.bz2.
I have also attached a cygcheck.out.bz2 for reference.  I hope this
provides some insight and can help to root out this issue.  If more info
is needed, please let me know!

Cheers,
Nicholas



__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

Attachment: cygcheck.out.bz2
Description: cygcheck.out.bz2

Attachment: strace+stackdump.1.tar.bz2
Description: strace+stackdump.1.tar.bz2

Attachment: strace+stackdump.2.tar.bz2
Description: strace+stackdump.2.tar.bz2

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]