Hi
I always installed my Cygwin environment on the root of a dedicated drive (for
example D:)
instead of the Setup.exe suggested subdirectory (for example D:\cygwin)
I recently upgraded my Cygwin system from cygwin1.dll (version 3.0.9) to the
latest 3.1.2-1 package.
Now whenever I call an executable linked with this dll I get the following stack
trace:
[04:38]D:\>Cygwin.bat
0 [main] bash (5368) D:\bin\bash.exe: *** fatal error - add_item
("\??\D:", "/", ...) failed, errno 22
Stack trace:
Frame Function Args
000FFFFABCC 001800614DE (0018028087A, 0018025A1B9, 00800010000, 000FFFF8B40)
000FFFFABCC 00180049249 (000FFFF9BC0, 000FFFFABCC, 00000000000, 00000000000)
000FFFFABCC 00180049282 (000FFFF9BC0, 00000000016, 00800010000, 3A445C3F3F5C)
000FFFFABCC 001800E23DC (000FFFFCBC0, 000FFFFCE00, 001800D2F78, 00000000000)
000FFFFCCD0 00180132725 (001800CB15C, 00000000000, 00000000000, 00000000000)
000FFFFCCD0 00180049873 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 00180048353 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180048404 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
[04:42]D:\>pwd
0 [main] pwd (3192) D:\bin\pwd.exe: *** fatal error - add_item ("\??\D:",
"/", ...) failed, errno 22
Stack trace:
Frame Function Args
000FFFFABCC 001800614DE (0018028087A, 0018025A1B9, 00800010000, 000FFFF8B40)
000FFFFABCC 00180049249 (000FFFF9BC0, 000FFFFABCC, 00000000000, 00000000000)
000FFFFABCC 00180049282 (000FFFF9BC0, 00000000016, 00800010000, 3A445C3F3F5C)
000FFFFABCC 001800E23DC (000FFFFCBC0, 000FFFFCE00, 001800D2F78, 00000000000)
000FFFFCCD0 00180132725 (001800CB15C, 00000000000, 00000000000, 00000000000)
000FFFFCCD0 00180049873 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 00180048353 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180048404 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
The only mention of "\\??\\D:" seems to come from the
""HKEY_CURRENT_USER\Software\Cygwin\Installations"
registry entry (see below)
I then tried new base installations under "D:\cygwin", "C:\" and "C:\cygwin":
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Cygwin\Installations]
"8aa36a1fe80b21a1"="\\??\\D:" <=== Broken
"c5e39b7a9d22bafb"="\\??\\C:\\cygwin" <=== OK
"1720b01b097bf4fc"="\\??\\D:\\cygwin" <=== OK
"2af6b8d6450bff37"="\\??\\C:" <=== Broken
It looks like installations directly to the root of a drive DO NOT work anymore,
although the Cygwin
installer still allows it (with a warning).
This all seems to be related to a patch mentioned in
https://cygwin.com/ml/cygwin/2019-09/msg00255.html
My big problem is: ALL of my Cygwin installations on different systems now will
break
during upgrade because of the initial Root-Drive install. Also the rest of my
ecosystem
assumes this Root-Drive install and its a nightmare to fix.
Any chance this type of installation can be supported again?
I found a mention of Ken Brown "I think I see how to fix this. I'll submit a
patch within the next few days."
in https://cygwin.com/ml/cygwin/2020-01/msg00129.html