https://bugs.winehq.org/show_bug.cgi?id=55967
Bug ID: 55967 Summary: app regression; SWATH stops working at all as of 8.18 Product: Wine Version: 8.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mhrivnak@hrivnak.org Distribution: ---
Created attachment 75557 --> https://bugs.winehq.org/attachment.cgi?id=75557 terminal output
SWATH (http://swath.net/) won't run at all starting with 8.18, after having run successfully under wine for a very long time. It continues to not work as of 8.21.
I did a clean install of Fedora 38 and started testing packages from the winehq repository.
winehq-devel-8.17-1.1.x86_64 does work.
winehq-devel-8.18-1.1.x86_64 does not work.
Steps to reproduce:
### wget http://swath.net/downloads/SWATH_v2_0.exe sudo dnf install wine-mono sudo dnf install winehq-devel-8.17-1.1.x86_64 wine SWATH_v2_0.exe
< click through the install wizard. At the end, un-select the option to launch>
wine ~/.wine/drive_c/Program\ Files\ (x86)/SWATH\ 2.0/SWATH.exe ###
The app will show a dialog about being on a 30-day trial, and then the main window opens. It works. Now exit, and we'll try again with 8.18.
### rm -Rf ~/.wine sudo dnf install winehq-devel-8.18-1.1.x86_64 wine SWATH_v2_0.exe
< click through the install wizard. At the end, un-select the option to launch>
wine ~/.wine/drive_c/Program\ Files\ (x86)/SWATH\ 2.0/SWATH.exe ###
The process quickly exits with code 150, never having shown a graphical window of any kind.
https://bugs.winehq.org/show_bug.cgi?id=55967
Michael Hrivnak mhrivnak@hrivnak.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mhrivnak@hrivnak.org
https://bugs.winehq.org/show_bug.cgi?id=55967
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://swath.net/downloads/ | |SWATH_v2_0.exe Keywords| |regression Regression SHA1| |efd03f40e6e315d89cd1d09c481 | |80aae82033f9f Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #1 from Andrew Nguyen arethusa26@gmail.com --- I can confirm the regression. Running git bisect reports commit:
commit efd03f40e6e315d89cd1d09c48180aae82033f9f Author: Alexandre Julliard julliard@winehq.org Date: Thu Oct 5 10:41:47 2023 +0200
server: Assign a system-wide mapping address for dynamic base modules.
https://bugs.winehq.org/show_bug.cgi?id=55967
Michael Hrivnak mhrivnak@hrivnak.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
--- Comment #2 from Michael Hrivnak mhrivnak@hrivnak.org --- Thank you for the help. I also just finished a git bisect that yielded the same conclusion.
https://github.com/wine-mirror/wine/commit/efd03f40e6e315d89cd1d09c48180aae8...
https://bugs.winehq.org/show_bug.cgi?id=55967
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=55967
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #3 from Bernhard Übelacker bernhardu@mailbox.org --- There was another bug 55993 pointing to the same regressing commit. For this bug a fix was committed. Did this maybe help for SWATH too?
https://bugs.winehq.org/show_bug.cgi?id=55967
--- Comment #4 from Michael Hrivnak mhrivnak@hrivnak.org --- I tried just now with HEAD, which is f2d98ea7cf2793930a093d673fe56787418069e2 and includes d96864eb4fbdbd384094b2c7754fc45a3a41d708. It did not resolve the issue. I can still reproduce it as usual.
Thanks for the suggestion though. I'm happy to test again when it's helpful.
https://bugs.winehq.org/show_bug.cgi?id=55967
--- Comment #5 from Bernhard Übelacker bernhardu@mailbox.org --- Created attachment 75674 --> https://bugs.winehq.org/attachment.cgi?id=75674 hack: ntdll: Do not use get_image_map_address for ntdll.
The issue here looks like some part of copy protection.
SWATH.exe opens ntdll.dll from disk, seeks to offset 0x9570 and reads 20 bytes. It looks like it uses these 20 bytes to locate the address of ZwQueryInformationProcess, and calls it. (CreateFileA, SetFilePointer, ReadFile, CloseHandle)
Unforatunately since commit efd03f40 the calculation results in the same function address, but ntdll.ZwQueryInformationProcess is no longer located there.
Attached patch reverts using the get_image_map_address wineserver call just for ntdll, and is enough to make SWATH work again.
https://bugs.winehq.org/show_bug.cgi?id=55967
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman@codeweavers.com
--- Comment #6 from Paul Gofman pgofman@codeweavers.com --- I think it doesn't actually compute any address from those 32 bytes it reads. It reads syscall thunk for NtQueryInformationProcess somewhere and plainly calls that. Which would fail on Windows for any 32 bit syscall as those need relocation (unless ntdll is not relocated)... but turns out NtQueryInformationProcess is some way special and works this way. I sent a possible fix upstream: https://gitlab.winehq.org/wine/wine/-/merge_requests/4705.
https://bugs.winehq.org/show_bug.cgi?id=55967
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #7 from Vijay Kamuju infyquest@gmail.com --- MR commited retest please.
https://bugs.winehq.org/show_bug.cgi?id=55967
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |cbcfaab5191838f8738989fcad7 | |fcb2c490fbe98
--- Comment #8 from Paul Gofman pgofman@codeweavers.com --- Should be fixed by cbcfaab5191838f8738989fcad7fcb2c490fbe98.
https://bugs.winehq.org/show_bug.cgi?id=55967
--- Comment #9 from Michael Hrivnak mhrivnak@hrivnak.org --- I tested cbcfaab5191838f8738989fcad7fcb2c490fbe98 and can confirm it fixes the regression with SWATH. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=55967
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.0-rc3.