Invalid request code when removing files
Tue May 5 17:12:27 GMT 2020
strace shows this failure:
68 368896 [main] rm 1823 _unlink_nt: Trying to delete \??\C:\Test\test,
isdir = 0
458 369354 [main] rm 1823 _unlink_nt: \??\C:\Test\test, return status =
70 369424 [main] rm 1823 seterrno_from_nt_status:
status 0xC0000002 -> windows error 1
70 369494 [main] rm 1823 geterrno_from_win_error: windows error 1 ==
64 369558 [main] rm 1823 unlink: -1 = unlink(/cygdrive/c/Test/test),
The full strace is available here: https://pastebin.com/S2iQ7UEN
Also, this is what shows up in Procmon:
I should mention that I also cannot delete files with Windows 10 WSL. It
fails with that "Function not implemented" rather than "Invalid request
code", though it seems like it must be related.
PS C:\Windows\system32> wsl
sbaker@FWA002495 /mnt/c/Windows/system32 $ rm -f /mnt/c/Test/test
rm: cannot remove '/mnt/c/Test/test': Function not implemented
On Sat, May 2, 2020 at 8:09 PM Sean Baker <email@example.com> wrote:
> I just installed Cygwin on a new Windows 10 machine. I am getting an error
> "Invalid request code" whenever I try to remove a file. Every other file
> operation that I have tested so far seems to work fine.
> Using a Windows CMD prompt, I can remove the file with the normal windows
> DEL command. However, if I try to execute C:\cygwin64\bin\rm.exe it still
> fails with "Invalid request code".
> This problem does not just occur with the 'rm' command. For example. 'vi'
> and 'git' cannot remove the lock files that they create. Also custom
> programs that I write myself and compile under Cygwin fail with the same
> error code when trying to remove files, even when executed from a Windows
> CMD prompt or clicked on in Windows explorer. The location of the file does
> not matter either, since I have tried files in the Cygwin home dir, my
> Users directory, My Documents, etc with the same result.
> However I have also installed MinGW, and in both the Cygwin terminal and
> Windows CMD prompt I can remove files successfully by calling the rm.exe
> installed there (see examples).
> Example under Cygwin:
> sbaker@FWA002495 ~ >$ echo test > foo
> sbaker@FWA002495 ~ >$ ls -l foo
> -rw-r--r-- 1 sbaker Domain Users 5 May 2 19:47 foo
> sbaker@FWA002495 ~ >$ cat foo
> sbaker@FWA002495 ~ >$ rm foo
> rm: remove regular file 'foo'? y
> rm: cannot remove 'foo': Invalid request code
> sbaker@FWA002495 ~ >$ /cygdrive/c/MinGW/msys/1.0/bin/rm.exe -v foo
> removed `foo'
> Example under Windows CMD:
> C:\Users\sbaker>echo test > foo
> C:\Users\sbaker>c:\cygwin64\bin\rm.exe -v foo
> /usr/bin/rm: cannot remove 'foo': Invalid request code
> C:\Users\sbaker>c:\MinGW\msys\1.0\bin\rm.exe -v foo
> removed `foo'
More information about the Cygwin