https://bugs.winehq.org/show_bug.cgi?id=45666
Bug ID: 45666 Summary: League of Legends 8.15+ fails due to missing implementation of NtQuerySystemInformation(SystemModuleInformationEx) Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: awesie@gmail.com Distribution: ---
Created attachment 62093 --> https://bugs.winehq.org/attachment.cgi?id=62093 stub implementation
NtQuerySystemInformation(SystemModuleInformationEx) was introduced in Vista and is used by League of Legends if the OS version is Vista+.
Not an issue if Wine is running as Windows XP / 2003.
The attached patch adds a stub implementation for SystemModuleInformation and SystemModuleInformationEx that only returns the module information for ntdll.dll.
https://bugs.winehq.org/show_bug.cgi?id=45666
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=45666
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- I've been meaning to get to this for a while. Is this enough for the game to run on Vista+?
https://bugs.winehq.org/show_bug.cgi?id=45666
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Keywords| |download, obfuscation Component|-unknown |ntdll URL| |https://riotgamespatcher-a. | |akamaihd.net/releases/live/ | |installer/deploy/League%20o | |f%20Legends%20installer%20E | |UW.exe Version|unspecified |3.14 Summary|League of Legends 8.15+ |League of Legends 8.15+ |fails due to missing |fails due to missing |implementation of |implementation of |NtQuerySystemInformation(Sy |NtQuerySystemInformation(Sy |stemModuleInformationEx) |stemModuleInformationEx) in | |Windows Vista+ mode
https://bugs.winehq.org/show_bug.cgi?id=45666
Michele Renosto composizion3@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |composizion3@hotmail.com
--- Comment #2 from Michele Renosto composizion3@hotmail.com --- Created attachment 63152 --> https://bugs.winehq.org/attachment.cgi?id=63152 Standard Output
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #3 from Michele Renosto composizion3@hotmail.com --- The patch was not enough.
https://bugs.winehq.org/show_bug.cgi?id=45666
Jonathan soundxbnet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |soundxbnet@gmail.com
--- Comment #4 from Jonathan soundxbnet@gmail.com --- (In reply to Michele Renosto from comment #3)
The patch was not enough.
0170:fixme:virtual:NtQueryVirtualMemory (process=0xffffffff,addr=(nil)) Unimplemented information class: MemoryWorkingSetExInformation
Seems like / https://bugs.winehq.org/show_bug.cgi?id=45667
0170:fixme:ntdll:NtQuerySystemInformation (0x00000039,0x46ef020,0x00100000,0x33d288) stub
That is a SystemExtendedProcessInformation query, my guess would be that it needs more than a stub.
https://bugs.winehq.org/show_bug.cgi?id=45666
Alexandr Oleynikov sashok.olen@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sashok.olen@gmail.com
--- Comment #5 from Alexandr Oleynikov sashok.olen@gmail.com --- Created attachment 63658 --> https://bugs.winehq.org/attachment.cgi?id=63658 log
It still fails, even with this patch and https://bugs.winehq.org/show_bug.cgi?id=45667 Log with what gets printed after clicking Play attached
https://bugs.winehq.org/show_bug.cgi?id=45666
Muffindrake muffindrake@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |muffindrake@protonmail.ch
--- Comment #6 from Muffindrake muffindrake@protonmail.ch --- There was a game update to 9.6 recently which seems to have broken the ingame client in the same way that launching it when the wineprefix was set to Windows 7 did, meaning it will crash immediately when the user attempts to commence a game.
I suspect that they accidentally pushed code which makes use of this function prematurely.
There's a notice that claims that support for XP ends when/after 9.9 is released (or was it 9.14?), which makes the implementation of this function somewhat urgent, as that patch is slated for release somewhere around May (which doesn't change that the game is already not playable).
The patches in 4.4 staging aren't enough to successfully start a game (it will still crash).
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #7 from Michele Renosto composizion3@hotmail.com --- That doesn't seem to be the case as it seems to be working on wine versions lower than 4.2 in non debian based distros.
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #8 from Muffindrake muffindrake@protonmail.ch --- Correct, wine staging equal to or less than 4.2 continue to work fine in this respect. Some of the patches introduced in 4.3/4.4 staging might be interfering, with as long as the client has left before the support is cut.
https://bugs.winehq.org/show_bug.cgi?id=45666
imbert.jacquesolivier@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |imbert.jacquesolivier@gmail | |.com
--- Comment #9 from imbert.jacquesolivier@gmail.com --- https://bugs.winehq.org/show_bug.cgi?id=46961&fbclid=IwAR36T_CRpe_cykpLc...
I tried to launch LOL and currently, client and game update is installed. Game crashes when we launch a game.
Any news about that ?
https://bugs.winehq.org/show_bug.cgi?id=45666
Tristan Cormier cormiert2@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cormiert2@outlook.com
--- Comment #10 from Tristan Cormier cormiert2@outlook.com --- (In reply to imbert.jacquesolivier from comment #9)
https://bugs.winehq.org/show_bug. cgi?id=46961&fbclid=IwAR36T_CRpe_cykpLcYUXzkdt5g7WcfVkz- kKJcu902X2xADI1sVBplNFqKA
I tried to launch LOL and currently, client and game update is installed. Game crashes when we launch a game.
Any news about that ?
You need to do two things: Stop spamming the bug reports; Run League of Legends in Windows XP compatibility mode;
I play on EUW and NA on the latest Wine and have had zero issues on three different distributions. You are continually ignoring the facts and just complaining about a bug that has been around for months.
The Wine project is maintained by volunteers and I think you should keep in mind that no one has any responsibility towards you as the end user.
If you want to get involved with development, you can always join the mailing lists and compile the source code & debug.
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #11 from imbert.jacquesolivier@gmail.com --- (In reply to Tristan Cormier from comment #10)
(In reply to imbert.jacquesolivier from comment #9)
https://bugs.winehq.org/show_bug. cgi?id=46961&fbclid=IwAR36T_CRpe_cykpLcYUXzkdt5g7WcfVkz- kKJcu902X2xADI1sVBplNFqKA
I tried to launch LOL and currently, client and game update is installed. Game crashes when we launch a game.
Any news about that ?
You need to do two things: Stop spamming the bug reports; Run League of Legends in Windows XP compatibility mode;
I play on EUW and NA on the latest Wine and have had zero issues on three different distributions. You are continually ignoring the facts and just complaining about a bug that has been around for months.
The Wine project is maintained by volunteers and I think you should keep in mind that no one has any responsibility towards you as the end user.
If you want to get involved with development, you can always join the mailing lists and compile the source code & debug.
So you need two things : 1°) Read news about XP mode : https://na.leagueoflegends.com/en/news/riot-games/announcements/ending-suppo...
In May 2019 (after patch 9.9), League of Legends is going to stop supporting Windows XP and Windows Vista.
2°) To tell to some people to stop trying to change tickets datas of users that report bugs for instance ^^
The "bug that has been around for months" will be a problem : it will stop the Wine compatibility for League of Legends if no solution is found ( see 1°) again ). But I understand that we can have more help from users that want to try to find solutions than "official" developpers finally. I will keep this info in mind...
https://bugs.winehq.org/show_bug.cgi?id=45666
Alexandr Oleynikov sashok.olen@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|sashok.olen@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=45666
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/ntdll-SystemModu | |leInformation Status|UNCONFIRMED |STAGED Hardware|x86-64 |x86 Ever confirmed|0 |1
--- Comment #12 from Zebediah Figura z.figura12@gmail.com --- This is staged now. I had missed it earlier because I was able to successfully get in games, but then it started failing during games.
https://bugs.winehq.org/show_bug.cgi?id=45666
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|League of Legends 8.15+ |Multiple Riot Games' |fails due to missing |anti-cheat / protection |implementation of |schemes need implementation |NtQuerySystemInformation(Sy |of NtQuerySystemInformation |stemModuleInformationEx) in |'SystemModuleInformationEx' |Windows Vista+ mode |info class (League of | |Legends 8.15+, | |Valorant/Vanguard)
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
Riot's Vanguard (Valorant) also needs this. Actually a slightly improved variant of the Wine-Staging patch.
--- snip --- $ WINEDEBUG=+seh,+loaddll,+process,+ntoskrnl,+int,+relay,+ntdll wine net start vgc >>log2.txt 2>&1 ... 001b:Call ntoskrnl.exe.ZwQuerySystemInformation(0000004d,00000000,00000000,00d4f600) ret=0115ca41 001b:Call ntdll.NtQuerySystemInformation(0000004d,00000000,00000000,00d4f600) ret=7bca21df 001b:trace:ntdll:NtQuerySystemInformation (0x0000004d,(nil),0x00000000,0xd4f600) 001b:Ret ntdll.NtQuerySystemInformation() retval=c0000005 ret=7bca21df 001b:Ret ntoskrnl.exe.ZwQuerySystemInformation() retval=c0000005 ret=0115ca41 001b:trace:seh:raise_exception code=c0000096 flags=0 addr=0x115ec76 ip=115ec76 tid=001b 001b:trace:seh:raise_exception rax=00001ce570abf47e rbx=0000000000000000 rcx=0000000000000000 rdx=00000000ffffffff 001b:trace:seh:raise_exception rsi=0000000000d4f7bc rdi=0000000000000000 rbp=0000000000d4f3e0 rsp=0000000000d4f2e0 001b:trace:seh:raise_exception r8=0000000000e8ae30 r9=00000000c0000005 r10=0000000000000000 r11=0000000000000000 001b:trace:seh:raise_exception r12=0000000000000000 r13=0000000000000000 r14=0000000000000006 r15=0000000000000000 001b:trace:seh:call_vectored_handlers calling handler at 0x18000b9f0 code=c0000096 flags=0 001b:trace:int:emulate_instruction mov cr8,rax at 115ec76 --- snip ---
Most drivers do something like this:
--- snip --- ULONG len = 0; NtQuerySystemInformation( SystemModuleInformation, NULL, 0, &len); --- snip ---
This is entirely reasonable as they want to figure out how much memory is needed to allocate a SYSTEM_MODULE_INFORMATION structure of the right size. After allocating the buffer they call 'NtQuerySystemInformation' again.
Wine-Staging is too restrictive with parameter validation:
https://github.com/wine-staging/wine-staging/blob/master/patches/ntdll-Syste...
IMHO this might apply for the non-ex variant as well.
With fixed version:
--- snip --- $ WINEDEBUG=+seh,+loaddll,+process,+ntoskrnl,+int,+relay,+ntdll wine net start vgc >>log2.txt 2>&1 ... 001b:Call ntoskrnl.exe.ZwQuerySystemInformation(0000004d,00000000,00000000,00d4f600) ret=0115ca41 001b:Call ntdll.NtQuerySystemInformation(0000004d,00000000,00000000,00d4f600) ret=7bca21cf 001b:trace:ntdll:NtQuerySystemInformation (0x0000004d,(nil),0x00000000,0xd4f600) 001b:Ret ntdll.NtQuerySystemInformation() retval=c0000004 ret=7bca21cf 001b:Ret ntoskrnl.exe.ZwQuerySystemInformation() retval=c0000004 ret=0115ca41 001b:Call ntoskrnl.exe.ExAllocatePoolWithTag(00000200,00000140,656e6f4e) ret=0115fcbe 001b:Call ntdll.RtlAllocateHeap(008a0000,00000000,00000140) ret=180010a2d 001b:Ret ntdll.RtlAllocateHeap() retval=008a0330 ret=180010a2d 001b:trace:ntoskrnl:ExAllocatePoolWithTag 320 pool 512 -> 00000000008A0330 001b:Ret ntoskrnl.exe.ExAllocatePoolWithTag() retval=008a0330 ret=0115fcbe 001b:Call ntoskrnl.exe.ZwQuerySystemInformation(0000004d,008a0330,00000140,00d4f600) ret=0115ca41 001b:Call ntdll.NtQuerySystemInformation(0000004d,008a0330,00000140,00d4f600) ret=7bca21cf 001b:trace:ntdll:NtQuerySystemInformation (0x0000004d,0x8a0330,0x00000140,0xd4f600) 001b:fixme:ntdll:NtQuerySystemInformation info_class SystemModuleInformationEx stub! 001b:Ret ntdll.NtQuerySystemInformation() retval=00000000 ret=7bca21cf 001b:Ret ntoskrnl.exe.ZwQuerySystemInformation() retval=00000000 ret=0115ca41 001b:Call ntoskrnl.exe.ExFreePoolWithTag(008a0330,656e6f4e) ret=00e73ad4 001b:trace:ntoskrnl:ExFreePoolWithTag 00000000008A0330 001b:Call KERNEL32.HeapFree(008a0000,00000000,008a0330) ret=7bca21cf 001b:Ret KERNEL32.HeapFree() retval=00000001 ret=7bca21cf 001b:Ret ntoskrnl.exe.ExFreePoolWithTag() retval=00000001 ret=00e73ad4 --- snip ---
It's still not enough in case of Vanguard as only 'ntdll' module is returned but at least the basic code is in place.
Tidbit:
--- snip --- 001b:Call ntoskrnl.exe._stricmp(00d4f590 "Consider this a final friendly warning... There are one of two paths from this point.",00d4f530 "http://bit.ly/good-side | OR | http://bit.ly/bad-side") ret=0115b29c 001b:Call msvcrt._stricmp(00d4f590 "Consider this a final friendly warning... There are one of two paths from this point.",00d4f530 "http://bit.ly/good-side | OR | http://bit.ly/bad-side") ret=7bca21df 001b:Call ntdll.RtlAllocateHeap(00010000,00000008,000004f8) ret=7fa8dc2c59e4 001b:Ret ntdll.RtlAllocateHeap() retval=007290d0 ret=7fa8dc2c59e4 001b:Ret msvcrt._stricmp() retval=fffffffb ret=7bca21df 001b:Ret ntoskrnl.exe._stricmp() retval=fffffffb ret=0115b29c --- snip ---
;-)
What's the blocking part here? Although not being sufficient for the most recent incarnations it's still working for other games, right?
$ wine --version wine-5.6-258-gf31a29b8d1
Regards
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #14 from Andrew Wesie awesie@gmail.com --- (In reply to Anastasius Focht from comment #13)
What's the blocking part here? Although not being sufficient for the most recent incarnations it's still working for other games, right?
If the questions is why the patches are not submitted to upstream, it is because there are no tests ready. I may look into this since I'm bored with work currently; but anyone else should feel free to snipe me and create tests.
https://bugs.winehq.org/show_bug.cgi?id=45666
Andrew Wesie awesie@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #62093|0 |1 is obsolete| |
--- Comment #15 from Andrew Wesie awesie@gmail.com --- Created attachment 66979 --> https://bugs.winehq.org/attachment.cgi?id=66979 stub v2
Fixes passing NULL pointer. Fakes an entry for ntoskrnl intead of ntdll.
https://bugs.winehq.org/show_bug.cgi?id=45666
--- Comment #16 from Andrew Wesie awesie@gmail.com --- Created attachment 66980 --> https://bugs.winehq.org/attachment.cgi?id=66980 tests
https://bugs.winehq.org/show_bug.cgi?id=45666
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #17 from Vijay Kamuju infyquest@gmail.com --- can you send the patches to wine-devel@winehq.org for inclusion
https://bugs.winehq.org/show_bug.cgi?id=45666
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |ebd92b980a46d0ae5b1c211c7b0 | |028565c9c147d
--- Comment #18 from Zebediah Figura z.figura12@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/ebd92b980a46d0ae5b1c211c7b0028565c9c147d.
https://bugs.winehq.org/show_bug.cgi?id=45666
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.21.