https://bugs.winehq.org/show_bug.cgi?id=47246
Bug ID: 47246 Summary: DbgPrint does not handle unicode format string '%wZ' (ReactOS 0.4.11-dev-603+ installer ) Product: Wine Version: 4.8 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
mentioned in https://jira.reactos.org/browse/CORE-16043 which is about a different issue -> bug 47242
https://jira.reactos.org/browse/CORE-16043?focusedCommentId=114608&page=...
--- quote --- ...
However, the fact that the debug log says "NtOpenSymbolicLinkObject(Z) failed with Status 0x006cf6a4" while the corresponding code line is:
457 /* 458 * We failed at opening the \SystemRoot link (usually due to wrong 459 * access rights). Do not consider this as a fatal error, but use 460 * instead the image file path as the installation source path. 461 */ 462 DPRINT1("NtOpenSymbolicLinkObject(%wZ) failed with Status 0x%08lx\n", 463 &SystemRootPath, Status);
is scarier, because "0x006cf6a4" is NOT a valid status code, and SystemRootPath is up to this point still pointing to the constant string L" SystemRoot" in UNICODE_STRING format. Maybe also their debugging procedure does not understand what %wZ means ? (and so it displays garbage)
--- quote ---
Indeed. Trace log:
--- snip --- $ WINEDEBUG=+seh,+relay,+ntdll,+server wine ./reactos.exe >>log.txt 2>&1 ... 0009:Call ntdll.NtQueryInformationProcess(ffffffff,0000001b,0034f91c,00000210,00000000) ret=00409074 0009: get_dll_info( handle=ffffffff, base_address=00000000 ) 0009: get_dll_info() = 0 { entry_point=00000000, filename_len=86, filename=L"Z:\home\focht\Downloads\reactos\reactos.exe" } 0009:Ret ntdll.NtQueryInformationProcess() retval=00000000 ret=00409074 0009:Call msvcrt.wcsrchr(0034f924 L"Z:\home\focht\Downloads\reactos\reactos.exe",0000005c) ret=004090a7 0009:Ret msvcrt.wcsrchr() retval=0034f962 ret=004090a7 0009:Call msvcrt.wcslen(0034f924 L"Z:\home\focht\Downloads\reactos") ret=004090c7 0009:Ret msvcrt.wcslen() retval=0000001f ret=004090c7 0009:Call ntdll.NtOpenSymbolicLinkObject(0034fd50,00000001,0034fd34) ret=0040910b 0009:trace:ntdll:NtOpenSymbolicLinkObject (0x34fd50,0x00000001,{name=L"\SystemRoot", attr=0x00000040, hRoot=(nil), sd=(nil)} ) 0009: open_symlink( access=00000001, attributes=00000040, rootdir=0000, name=L"\SystemRoot" ) 0009: open_symlink() = OBJECT_NAME_NOT_FOUND { handle=0000 } 0009:Ret ntdll.NtOpenSymbolicLinkObject() retval=c0000034 ret=0040910b 0009:trace:ntdll:pf_vsnprintf format is L"(%s:%d) NtOpenSymbolicLinkObject(%wZ) failed with Status 0x%08lx\n" DbgPrint says: (base\setup\lib\setuplib.c:454) NtOpenSymbolicLinkObject(Z) failed with Status 0x0034fd54 0009:Call ntdll.RtlCreateUnicodeString(00444edc,0034f924 L"Z:\home\focht\Downloads\reactos") ret=004091db 0009:Ret ntdll.RtlCreateUnicodeString() retval=00000001 ret=004091db 0009:Call msvcrt.wcsrchr(0034f924 L"Z:\home\focht\Downloads\reactos",0000005c) ret=004091e9 0009:Ret msvcrt.wcsrchr() retval=0034f952 ret=004091e9 0009:Call ntdll.RtlCreateUnicodeString(00444ed4,0034f952 L"\reactos") ret=00409203 0009:Ret ntdll.RtlCreateUnicodeString() retval=00000001 ret=00409203 0009:Call ntdll.RtlCreateUnicodeString(00444ecc,0034f924 L"Z:\home\focht\Downloads") ret=0040922d 0009:Ret ntdll.RtlCreateUnicodeString() retval=00000001 ret=0040922d 0009:trace:ntdll:pf_vsnprintf format is L"(%s:%d) SourcePath: '%wZ'\n" DbgPrint says: (base\setup\reactos\reactos.c:986) SourcePath: 'Z' 0009:trace:ntdll:pf_vsnprintf format is L"(%s:%d) SourceRootPath: '%wZ'\n" DbgPrint says: (base\setup\reactos\reactos.c:987) SourceRootPath: 'Z' 0009:trace:ntdll:pf_vsnprintf format is L"(%s:%d) SourceRootDir: '%wZ'\n" DbgPrint says: (base\setup\reactos\reactos.c:988) SourceRootDir: 'Z' ... --- snip ---
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/printf.c#l418
Microsoft docs:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf...
https://docs.microsoft.com/en-us/cpp/c-runtime-library/format-specification-...
$ sha1sum reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.* bcb4c544c61ddf899ccd0266cdc8f40cc8dfa96d reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.7z bc0293827c84f6402cbcb39c1628f38ff16ef651 reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.iso
$ du -sh reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.* 55M reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.7z 73M reactos-bootcd-0.4.11-dev-603-g4bf9f6f-x86-msvc-win-dbg.iso
$ wine --version wine-4.8-296-g6a610a3258
Regards
https://bugs.winehq.org/show_bug.cgi?id=47246
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://web.archive.org/web | |/20190102014839/https://iso | |.reactos.org/bootcd/reactos | |-bootcd-0.4.11-dev-603-g4bf | |9f6f-x86-msvc-win-dbg.7z See Also| |https://jira.reactos.org/br | |owse/CORE-16043 Keywords| |download, Installer
https://bugs.winehq.org/show_bug.cgi?id=47246
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47246
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|DbgPrint does not handle |DbgPrint does not handle |unicode format string '%wZ' |unicode format string '%wZ' |(ReactOS 0.4.11-dev-603+ |(ReactOS 0.4.11-dev-603+ |installer ) |installer, SmartGaga)
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Also encountered with SmartGaga (Android Emulator) v1.1.x from bug 48933
https://docs.google.com/uc?export=download&id=1CbktLjrw6IAo_lU9Sh0sGghEH...
'androidkernelx64.sys' driver
--- snip --- $ WINEDEBUG=+seh,+relay,+ntoskrnl,+server wine wineboot >>log.txt 2>&1 ... 003e:Call ntoskrnl.exe.RtlInitUnicodeString(00c3f2e0,00790520 L"C:\Program Files (x86)\SmartGaGa\ProjectTitan\Engine\AndroidKernelX64.sys") ret=00e0403b 003e:Call ntdll.RtlInitUnicodeString(00c3f2e0,00790520 L"C:\Program Files (x86)\SmartGaGa\ProjectTitan\Engine\AndroidKernelX64.sys") ret=7bca110f 003e:Ret ntdll.RtlInitUnicodeString() retval=00000094 ret=7bca110f 003e:Ret ntoskrnl.exe.RtlInitUnicodeString() retval=00000094 ret=00e0403b 003e:Call ntoskrnl.exe.ZwCreateFile(00c3f2c0,00120089,00c3f300,00c3f2f0,00000000,00000080,00000001,00000001,00000060,00000000,00000000) ret=00e040a3 003e:Call ntdll.NtCreateFile(00c3f2c0,00120089,00c3f300,00c3f2f0,00000000,00000080,00000001,00000001,00000060,00000000,00000000) ret=7bca110f 003e:trace:ntdll:FILE_CreateFile handle=0xc3f2c0 access=00120089 name=L"C:\Program Files (x86)\SmartGaGa\ProjectTitan\Engine\AndroidKernelX64.sys" objattr=00000240 root=(nil) sec=(nil) io=0xc3f2f0 alloc_size=(nil) attr=00000080 sharing=00000001 disp=1 options=00000060 ea=(nil).0x00000000 003e:warn:ntdll:FILE_CreateFile L"C:\Program Files (x86)\SmartGaGa\ProjectTitan\Engine\AndroidKernelX64.sys" not found (c000003b) 003e:Ret ntdll.NtCreateFile() retval=c000003b ret=7bca110f 003e:Ret ntoskrnl.exe.ZwCreateFile() retval=c000003b ret=00e040a3 DbgPrint says: [Saturn] MyOpenFileForRead Fail Z --- snip ---
--- snip --- $ grep -RalZ MyOpenFileForRead .wine/drive_c/Program\ Files\ (x86)/ | \ xargs -r0i bash -c "echo "{}" && strings "{}" | grep MyOpenFileForRead"
.wine/drive_c/Program Files (x86)/SmartGaGa/ProjectTitan/Engine/AndroidKernelX64.sys [Saturn] MyOpenFileForRead Fail %wZ .wine/drive_c/Program Files (x86)/SmartGaGa/ProjectTitan/Engine/AndroidKernelX64EV.sys [Saturn] MyOpenFileForRead Fail %wZ .wine/drive_c/Program Files (x86)/SmartGaGa/ProjectTitan/Engine/AndroidKernel.sys [Saturn] MyOpenFileForRead Fail %wZ --- snip ---
$ sha1sum Setup_AndroidFs442_1.1.646.1.exe 8cec18338e1e931433ac37f63d26a701dfcbd0dd Setup_AndroidFs442_1.1.646.1.exe
$ du -sh Setup_AndroidFs442_1.1.646.1.exe 203M Setup_AndroidFs442_1.1.646.1.exe
$ wine --version wine-5.6
Regards
https://bugs.winehq.org/show_bug.cgi?id=47246
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Note, since https://source.winehq.org/git/wine.git/commitdiff/c5129d6fc083514bf7b854d340... ("ntdll: Reimplement DbgPrint* using DBG_PRINTEXCEPTION_C.") you need to use 'debugstr' channel to see the traces.
Part of Wine 5.22 release
--- snip --- $ WINEDEBUG=+debugstr wine ./reactos.exe ... 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\lib\setuplib.c:454) NtOpenSymbolicLinkObject(Z) failed with Status 0x0032fdc4 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:986) SourcePath: 'Z' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:987) SourceRootPath: 'Z' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:988) SourceRootDir: 'Z' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:901) Testing 'C:' --> '\Device\HarddiskVolume1' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:901) Testing 'D:' --> '\Device\CdRom0' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:901) Testing 'E:' --> '\Device\CdRom1' 0024:warn:debugstr:vDbgPrintExWithPrefix 00000000:00000001: (base\setup\reactos\reactos.c:901) Testing 'Z:' --> '\Device\HarddiskVolume2' --- snip ---
$ wine --version wine-7.0-rc4
Regards