https://bugs.winehq.org/show_bug.cgi?id=51209
Bug ID: 51209 Summary: Regression: Wine-mono installers in the parent folder of build trees can not be found Product: Wine Version: 6.9 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: zzhang@codeweavers.com Distribution: ---
~$ sha256sum ~/src/mono/wine-mono-6.1.1-x86.msi ac3b14beafde34b8482287e597000113dc06a915f32c9fd06c77eb819079e38b /home/eric/src/mono/wine-mono-6.1.1-x86.msi
~$ ls -l ~/src/wine/mono lrwxrwxrwx 1 eric eric 7 Nov 4 2020 /home/eric/src/wine/mono -> ../mono
The build tree is in ~/src/wine/win32-build
WINEDEBUG=+file bad log 0064:trace:file:GetFileAttributesW L"\\?\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" 0064:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"\\?\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi",0031FBD0,00000000,00000000) 0064:trace:file:nt_to_unix_file_name L"home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" not found in /home/eric/.wine/dosdevices/z:€~°)€~0)€~€~ €~°Æ~Ç~@Ç~ð)€~P€~p)€~€Æ~ÀÉ~ðÉ~É~ Ê~PÊ~€Ê~°Ê~àÊ~@Ë~pË~ Ë~Ë~Í~ÀÍ~Ð)€~°×~Ø~ Ø~ÐØ~ 0064:warn:file:NtQueryAttributesFile L"\??\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" not found (c0000033)
WINEDEBUG=+file good log 0064:trace:file:GetFileAttributesW L"\\?\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" 0064:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"\\?\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi",0031FBD0,00000000,00000000) 0064:trace:file:nt_to_unix_file_name L"\??\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" -> "/home/eric/.wine/dosdevices/z:/home/eric/src/wine/win32-build/../mono/wine-mono-6.1.1-x86.msi"
A bisect points to 405666b736f7e471e301f051cfbe68bcbef7e0f6 is the first bad commit commit 405666b736f7e471e301f051cfbe68bcbef7e0f6 Author: Alexandre Julliard julliard@winehq.org Date: Tue Apr 13 12:55:59 2021 +0200
ntdll: Reject NT path names that are not in canonical form.
Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/ntdll/tests/path.c | 92 +++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/unix/file.c | 99 ++++++++++++++++++++++++++----------------------- 2 files changed, 144 insertions(+), 47 deletions(-)
However, 405666b is correct. The root cause is in appwiz.cpl/addon.c install_from_default_dir() and install_from_dos_file(), which constructs a path starting with "\?" and contains "..". According to 405666b and GetFileAttributesExW() tests (also applies for GetFileAttributesW()), "\\?\Z:\home\eric\src\wine\win32-build\..\mono\wine-mono-6.1.1-x86.msi" should be canonicalized before passing it to GetFileAttributesW().
https://bugs.winehq.org/show_bug.cgi?id=51209
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |405666b736f7e471e301f051cfb | |e68bcbef7e0f6 Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=51209
--- Comment #1 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 70080 --> https://bugs.winehq.org/attachment.cgi?id=70080 tests
https://bugs.winehq.org/show_bug.cgi?id=51209
--- Comment #2 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 70081 --> https://bugs.winehq.org/attachment.cgi?id=70081 fix
https://bugs.winehq.org/show_bug.cgi?id=51209
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |d2882f96d6f0f166adaecdbc1de | |d047cec331b62 Resolution|--- |FIXED
--- Comment #3 from Zhiyi Zhang zzhang@codeweavers.com --- Fixed by d2882f96d6f0f166adaecdbc1ded047cec331b62
https://bugs.winehq.org/show_bug.cgi?id=51209
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.10.