Cygwin 1.3.11(CVS): "rm -f" no longer works on non-existant files
Nicholas Wourms
nwourms@yahoo.com
Thu May 30 09:36:00 GMT 2002
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out.bz2
Type: application/octet-stream
Size: 4618 bytes
Desc: cygcheck.out.bz2
URL: <http://cygwin.com/pipermail/cygwin/attachments/20020530/d1e3c781/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace+stackdump.1.tar.bz2
Type: application/octet-stream
Size: 4596 bytes
Desc: strace+stackdump.1.tar.bz2
URL: <http://cygwin.com/pipermail/cygwin/attachments/20020530/d1e3c781/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace+stackdump.2.tar.bz2
Type: application/octet-stream
Size: 4656 bytes
Desc: strace+stackdump.2.tar.bz2
URL: <http://cygwin.com/pipermail/cygwin/attachments/20020530/d1e3c781/attachment-0002.obj>
-------------- 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