https://bugs.winehq.org/show_bug.cgi?id=42172
Bug ID: 42172 Summary: Paladins crashes (patch 0.40) Product: Wine Version: 2.0-rc4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: darkael@gmail.com Distribution: ---
Created attachment 56782 --> https://bugs.winehq.org/attachment.cgi?id=56782 crash info
Distribution: Arch Linux x86_64
http://store.steampowered.com/app/444090/
Game was installed with steam (after winetricks steam) in a new prefix and with WINEARCH=win32
winetricks dotnet35 d3dx9_43 dotnet40
The launcher works (had to install lib32-gnutls and lib32-libldap) but the game itself crashes immediately.
Current version of the game: 0.40.1478.5
https://bugs.winehq.org/show_bug.cgi?id=42172
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #1 from winetest@luukku.com --- Console output before the crash?
https://bugs.winehq.org/show_bug.cgi?id=42172
Dmitriy xomachiner@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xomachiner@gmail.com
--- Comment #2 from Dmitriy xomachiner@gmail.com --- Created attachment 57349 --> https://bugs.winehq.org/attachment.cgi?id=57349 Console output before crash
I've also encountered this crash. The crash point located at the start of the function in Paladins.exe. The caller function contains reference to a curious string constant "d:\build\0.43\development\src\core\inc\AntiCheatArray.h". So I suppouse it's EasyAntiCheat related issue. Other code around looks like an iterating over array located in TLS and calling the function containing crash point for each element. PS: Full log with relays and stuff takes more than 2GB, so I dont have an idea how to share it.
Just to be clear in the crash description. The game crashes after constant period of time without any reference to in-game actions.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #3 from Dmitriy xomachiner@gmail.com --- Created attachment 57350 --> https://bugs.winehq.org/attachment.cgi?id=57350 Relays without msvcr and ntdll related ones.
I've managed to attach some relays from Paladins.exe process (without launcher and PaladinsEAC relays). The ntdll and msvcr related relays are cut off from the log (they take significant part of the log and have almost no difference between each other)
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #4 from Dmitriy xomachiner@gmail.com --- Created attachment 57379 --> https://bugs.winehq.org/attachment.cgi?id=57379 Workaround dump for paladins.exe
I've found a workaround to start the paladins. The attached dump from objdump describes which opcodes should be placed in Paladins.exe to avoid the problem. It's also recommended to replace PaladinsEAC.exe with modified copy of Paladins.exe. To modify the binary one may use any hex editor (e.g. Bless).
I've also obtained some additional information about the crash. Debugging session has shown that address in %ecx is being forming by XORing of two values: one of them located in memory at (*FS:0x2C)+4*(*0x3D18240), and the other may be found at address (*0x2273AF8)+0xBE0. At the crash conditions, the first value equals 0 somehow and %ecx contains only the second value. Most intriguing part of this is the first value becomes correct after the exception had been catched by debugger. I don't have any explanation of such behaviour except only maybe some kind of the race condition.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #5 from winetest@luukku.com --- fixme:winediag:dxgi_check_feature_level_support None of the requested D3D feature levels is supported on this GPU with the current shader backend.
Bug 38648 there is a workaround.
err:winediag:wined3d_dll_init The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks.
You have disabled something? Can you enable it and try the workaround?
https://bugs.winehq.org/show_bug.cgi?id=42172
Dmitriy xomachiner@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57349|0 |1 is obsolete| |
--- Comment #6 from Dmitriy xomachiner@gmail.com --- Created attachment 57392 --> https://bugs.winehq.org/attachment.cgi?id=57392 Console output before crash for Paladins v.0.44.1634.0
Ok. I've enabled glsl back, but it seems does not affect the anticheat related code that causes the crash. The log before crash was updated for new Paladins version 0.44.1634.0.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #7 from Dmitriy xomachiner@gmail.com --- I've found new information about the bug. It is probably not a wine bug at all. First of all: It's definitely an EasyAntiCheat issue. During the game launch anticheat tries to load newest module version as in always does from downloads.eac-cdn.com, but cannot obtain it, so it is the root of bug. It is surprising, but EAC dll knows about wine, properly detects it and tries to download the version of module compatible with wine (from generated url: http://download.eac-cdn.com/v1/games/112/client/wine32/download/?uuid=<some uuid>), but unfortunately such a version does not exists on cdn. I don't know how game developers interacting with EAC developers and how they're making a decision about what modules to provide, but looks like no windows game developers were enabled wine support.
https://bugs.winehq.org/show_bug.cgi?id=42172
RevenantX doomrevx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |doomrevx@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=42172
Mathieu Comandon strider@strycore.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |strider@strycore.com
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #8 from winetest@luukku.com --- (In reply to Dmitriy from comment #7)
I've found new information about the bug. It is probably not a wine bug at all. First of all: It's definitely an EasyAntiCheat issue. During the game launch anticheat tries to load newest module version as in always does from downloads.eac-cdn.com, but cannot obtain it, so it is the root of bug. It is surprising, but EAC dll knows about wine, properly detects it and tries to download the version of module compatible with wine (from generated url: http://download.eac-cdn.com/v1/games/112/client/wine32/download/?uuid=<some uuid>), but unfortunately such a version does not exists on cdn. I don't know how game developers interacting with EAC developers and how they're making a decision about what modules to provide, but looks like no windows game developers were enabled wine support.
Wine-staging has/had an option to hide wine from applications. I don't know how it exactly works and would it help in this case.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #9 from Mathieu Comandon strider@strycore.com --- I wanted to give this Wine-Staging option a try but unfortunately, I can't even connect to HiRez's server.
In the games log, I get the following error:
``` ******************* Version: 5/13/2017 3:00:15 PM Exception @ Post PING to https://discoveryb.hirez.net/Discovery/HirezPatchService/ System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.NotSupportedException: The requested security package is not supported. at System.Net.SSPIWrapper.GetVerifyPackageInfo(SSPIInterface secModule, String packageName, Boolean throwIfMissing) at System.Net.Security.SecureChannel..ctor(String hostname, Boolean serverMode, SchProtocols protocolFlags, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, Boolean remoteCertRequired, Boolean checkCertName, Boolean checkCertRevocationStatus, EncryptionPolicy encryptionPolicy, LocalCertSelectionCallback certSelectionDelegate) at System.Net.Security.SslState.ValidateCreateContext(Boolean isServer, String targetHost, SslProtocols enabledSslProtocols, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, Boolean remoteCertRequired, Boolean checkCertRevocationStatus, Boolean checkCertName) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at Hirez.Patcher.PatcherServerAccess.(String , String ) ```
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #10 from winetest@luukku.com --- (In reply to Mathieu Comandon from comment #9)
I wanted to give this Wine-Staging option a try but unfortunately, I can't even connect to HiRez's server.
Did you remember also install dotnet packages? Comment 0 indicates that dotnet35 and dotnet40 are needed.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #11 from Mathieu Comandon strider@strycore.com --- (In reply to winetest from comment #10)
(In reply to Mathieu Comandon from comment #9)
I wanted to give this Wine-Staging option a try but unfortunately, I can't even connect to HiRez's server.
Did you remember also install dotnet packages? Comment 0 indicates that dotnet35 and dotnet40 are needed.
Yes, I've tried a bunch of different versions of .NET, I'm currently trying with .NET 4.6.2
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #12 from Mathieu Comandon strider@strycore.com --- Created attachment 58170 --> https://bugs.winehq.org/attachment.cgi?id=58170 Backtrace for Paladins 0.49
Finally got the service running after installing wininet and secur32 and setting the windows version to 7.
Got the game to download but the "Hide Windows version" doesn't seem to make much of a difference. Still got a very similar crash to what I previously had.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #13 from winetest@luukku.com --- This seems to be free game (at least for now). Someone should fill the url field and add keyword download.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #14 from Dmitriy xomachiner@gmail.com --- (In reply to winetest from comment #8)
(In reply to Dmitriy from comment #7)
Wine-staging has/had an option to hide wine from applications. I don't know how it exactly works and would it help in this case.
Previously I have tried to manually replace wine32 to win32 inside the EAC dll. The only difference was in successful downloading of latest EAC module (progress bar was filling up). After some research about EAC I just gave up, because of heavy EAC service integration to windows system.
https://bugs.winehq.org/show_bug.cgi?id=42172
--- Comment #15 from winetest@luukku.com --- (In reply to Dmitriy from comment #7)
I've found new information about the bug. It is probably not a wine bug at all. First of all: It's definitely an EasyAntiCheat issue. During the game launch anticheat tries to load newest module version as in always does from downloads.eac-cdn.com, but cannot obtain it, so it is the root of bug. It is surprising, but EAC dll knows about wine, properly detects it and tries to download the version of module compatible with wine (from generated url: http://download.eac-cdn.com/v1/games/112/client/wine32/download/?uuid=<some uuid>), but unfortunately such a version does not exists on cdn. I don't know how game developers interacting with EAC developers and how they're making a decision about what modules to provide, but looks like no windows game developers were enabled wine support.
You most likely should contact the developers about this. Since the game is still early access I quess it should be quite easy for now.
https://bugs.winehq.org/show_bug.cgi?id=42172
Sybil shasharala@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shasharala@outlook.com
--- Comment #16 from Sybil shasharala@outlook.com --- *** Bug 43350 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=42172
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=42172
Simon Körner winehq@lubiland.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@lubiland.de
https://bugs.winehq.org/show_bug.cgi?id=42172
539@idlegandalf.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |539@idlegandalf.com
https://bugs.winehq.org/show_bug.cgi?id=42172
Matheus Marinho matheus4551@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matheus4551@hotmail.com
--- Comment #17 from Matheus Marinho matheus4551@hotmail.com --- This should depend on 44235
https://bugs.winehq.org/show_bug.cgi?id=42172
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Paladins crashes (patch |Multiple games crash due to |0.40) |EasyAntiCheat (Paladins, | |Empyrion) CC| |leslie_alistair@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=42172
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Keywords| |download, obfuscation Resolution|--- |DUPLICATE URL| |https://www.paladins.com/do | |wnload Status|UNCONFIRMED |RESOLVED Summary|Multiple games crash due to |Multiple games crash due to |EasyAntiCheat (Paladins, |EasyAntiCheat detecting |Empyrion) |Wine as host platform/OS | |(Paladins, Empyrion) Component|-unknown |kernel32
--- Comment #18 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- This should depend on 44235 --- quote ---
No, it's actually an exact dupe of bug 44235 The crash is because of EasyAntiCheat detecting Wine as host platform/OS which is unexpected by the game engines.
--- snip --- $ find .wine -iname "*easyanti*" .wine/drive_c/Program Files (x86)/EasyAntiCheat .wine/drive_c/Program Files (x86)/EasyAntiCheat/EasyAntiCheat.exe .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_x86.dll .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_x64.dll .wine/drive_c/Program Files (x86)/Hi-Rez Studios/HiRezGames/paladins/Binaries/EasyAntiCheat/EasyAntiCheat_Setup.exe --- snip ---
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Hi-Rez Studios
$ WINEDEBUG=+seh,+relay,+ntdll,+ntoskrnl wine ./HirezLauncherUI.exe product=402 game=400 >>log.txt 2>&1 ... 0047:Ret PE DLL (proc=0x90c4d75,module=0x9080000 L"easyanticheat_x86.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 ... 0047:Call KERNEL32.GetProcAddress(09080000,021d3ecc "CreateGameClient") ret=00fd0a85 0047:Ret KERNEL32.GetProcAddress() retval=09099cd0 ret=00fd0a85 0047:Call KERNEL32.GetModuleHandleW(090ee828 L"kernel32.dll") ret=09099c0f 0047:Ret KERNEL32.GetModuleHandleW() retval=7b420000 ret=09099c0f 0047:Call KERNEL32.GetProcAddress(7b420000,090ee844 "wine_get_unix_file_name") ret=09099c21 0047:Ret KERNEL32.GetProcAddress() retval=7b428c04 ret=09099c21 ... 0047:Call msvcr110._vsnwprintf_s(0033e558,00000100,000000ff,021d408c L"FEACClient being initialized",0033e768) ret=004e402c ... 005d:trace:seh:raise_exception code=c0000005 flags=0 addr=0x4b56a0 ip=004b56a0 tid=005d 005d:trace:seh:raise_exception info[0]=00000000 005d:trace:seh:raise_exception info[1]=44359f2b 005d:trace:seh:raise_exception eax=04eb1c20 ebx=0920fe01 ecx=44359f2b edx=00000000 esi=001d81b0 edi=001ec0a0 005d:trace:seh:raise_exception ebp=026e23d0 esp=0920f5fc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 005d:trace:seh:call_stack_handlers calling handler at 0x90e3d96 code=c0000005 flags=0 ... 005d:Call msvcr110.?_wsopen@@YAHPB_WHHH@Z(03957760 L"C:/Program Files/Hi-Rez Studios/HiRezGames/paladins/Binaries/Logs/system-2018-06-05.log",0000818a,00000010,00000180) ret=036b86ce ... 005d:Call KERNEL32.OutputDebugStringA(0920d67c "#-----------------#\r\n2018-06-05_21.18.02 - PID 70 - THR 93\r\n\r\nException in [0] (SE): Access Violation at 0x00000000004B56A0\r\nBP: 0x00000000026E23D0 | RetAddr: 0x0000000000000001 | IP: 0x00000000004B56A0 \r\nBP: 0x0000000001FC3C9C | RetAddr: 0x00000000004DAD20 | IP: 0x0000000000000001 \r\nBP: "...) ret=036d91ce ... 005d:Ret KERNEL32.OutputDebugStringA() retval=00000000 ret=036d91ce ... --- snip ---
--- snip --- ... 0049F48C 68 F461FA01 PUSH Paladins.01FA61F4 0049F491 68 E6000000 PUSH 0E6 ; ASCII "d:\build\1.0\development\src\core\inc\AntiCheatArray.h" 0049F496 68 9098FA01 PUSH Paladins.01FA9890 ; ASCII "i>=0 && (i<Num()||(i==0 && Num()==0))" 0049F49B 68 C898FA01 PUSH Paladins.01FA98C8 0049F4A0 E8 1B860000 CALL Paladins.004A7AC0 0049F4A5 83C4 10 ADD ESP,10 0049F4A8 8B0D 98BE2103 MOV ECX,DWORD PTR DS:[321BE98] 0049F4AE 64:A1 2C000000 MOV EAX,DWORD PTR FS:[2C] 0049F4B4 68 00100000 PUSH 1000 0049F4B9 8B0488 MOV EAX,DWORD PTR DS:[EAX+ECX*4] 0049F4BC 6A 00 PUSH 0 0049F4BE 8B88 F0010000 MOV ECX,DWORD PTR DS:[EAX+1F0] 0049F4C4 A1 6C3F7802 MOV EAX,DWORD PTR DS:[2783F6C] 0049F4C9 3388 E00B0000 XOR ECX,DWORD PTR DS:[EAX+BE0] 0049F4CF E8 CC610100 CALL Paladins.004B56A0 0049F4D4 85C0 TEST EAX,EAX 0049F4D6 0F85 AC000000 JNZ Paladins.0049F588 ... 004B56A0 8B11 MOV EDX,DWORD PTR DS:[ECX] ; *boom* 004B56A2 8B41 04 MOV EAX,DWORD PTR DS:[ECX+4] 004B56A5 235424 04 AND EDX,DWORD PTR SS:[ESP+4] 004B56A9 234424 08 AND EAX,DWORD PTR SS:[ESP+8] 004B56AD 0BD0 OR EDX,EAX 004B56AF 74 08 JE SHORT Paladins.004B56B9 004B56B1 B8 01000000 MOV EAX,1 004B56B6 C2 0800 RETN 8 --- snip ---
--- snip --- EAX 0778CB80 ECX A5FECD82 EDX 00000000 EBX 0943FE01 ESP 0943F5FC EBP 026E23D0 Paladins.026E23D0 ESI 001ADF68 EDI 001C22B0 ASCII "File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac" EIP 004B56A0 Paladins.004B56A0 C 0 ES 002B 32bit 0(FFFFFFFF) P 1 CS 0023 32bit 0(FFFFFFFF) A 0 SS 002B 32bit 0(FFFFFFFF) Z 0 DS 002B 32bit 0(FFFFFFFF) S 1 FS 0063 32bit 7FFD8000(FFF) T 0 GS 006B 32bit 0(0) D 0 O 0 LastErr ERROR_PATH_NOT_FOUND (00000003) EFL 00210286 (NO,NB,NE,A,S,PE,L,LE)
0943F7F8 001C22B0 ASCII "File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac" 0943F7FC 0943F908 ASCII "[EAC Callback] Code 902. Message: 'File not found: EasyAntiCheat\Cache\easyanticheat_wine_x86.eac'." ... 0943FA98 |0932D318 ASCII "Connect result: No error (0) Response Code: 404 Destination IP: xx.xx.xx.xx" ... 0943FAFC 001CC8B0 ASCII 3C,"html> <head><title>404 Not Found</title></head> <body bgco" 0943FB00 09444020 ASCII "<html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html> " ... 0943FC4C |001B2630 ASCII "https://download.eac-cdn.com/api/v1/games/%7B%7Bgameid%7D%7D/client/%7B%7Bsy..."
--- snip ---
$ sha1sum InstallPaladins.exe f8d83d88635c0b94655cc301cb0e190d80b9cd77 InstallPaladins.exe
$ du -sh InstallPaladins.exe 72M InstallPaladins.exe
$ wine --version wine-3.9-165-g11e3cf091d
Regards
*** This bug has been marked as a duplicate of bug 44235 ***
https://bugs.winehq.org/show_bug.cgi?id=42172
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing Duplicate
https://bugs.winehq.org/show_bug.cgi?id=42172
dan@mooresolutions.io changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dan@mooresolutions.io
https://bugs.winehq.org/show_bug.cgi?id=42172
John hdsamsunghd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hdsamsunghd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=42172
Kai jopiku@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jopiku@googlemail.com