https://bugs.winehq.org/show_bug.cgi?id=46870
Bug ID: 46870 Summary: League of Legends 9.6 crashes at game start with >4.2 wine Product: Wine Version: 4.4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: composizion3@hotmail.com Distribution: ---
Created attachment 63931 --> https://bugs.winehq.org/attachment.cgi?id=63931 Console output
The game crashes after champ select. Message says "Bssndrpt.exe" had a critical error. It seems to be a regression in wine versions higher than 4.2 because older the game is working fine with previous versions in non debian based distros.
https://bugs.winehq.org/show_bug.cgi?id=46870
cormiert2@outlook.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cormiert2@outlook.com
--- Comment #1 from cormiert2@outlook.com --- I am also affected by this issue.
https://bugs.winehq.org/show_bug.cgi?id=46870
Loris lollinos@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lollinos@hotmail.com
--- Comment #2 from Loris lollinos@hotmail.com --- I confirm same bug.
I have attached the dump of the memory.
ii wine-staging 4.4~stretch amd64 WINE Is Not An Emulator - runs MS Windows programs ii wine-staging-amd64 4.4~stretch amd64 WINE Is Not An Emulator - runs MS Windows programs ii wine-staging-i386:i386 4.4~stretch i386 WINE Is Not An Emulator - runs MS Windows programs ii winehq-staging 4.4~stretch amd64 WINE Is Not An Emulator - runs MS Windows programs ii winetricks 0.0+20170101-1 all package manager for Wine to install software easily
I hope it can help...
https://bugs.winehq.org/show_bug.cgi?id=46870
Lorenzo Gabriele lorenzolespaul@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lorenzolespaul@gmail.com
--- Comment #3 from Lorenzo Gabriele lorenzolespaul@gmail.com --- Created attachment 63983 --> https://bugs.winehq.org/attachment.cgi?id=63983 League legends crashes at match start on latest wine on Arch Linux
I have the same bug on wine 4.4 and wine-staging 4.4 on Arch Linux. Probably a regression in wine cause it ended working with wine upgrade.
https://bugs.winehq.org/show_bug.cgi?id=46870
atbjyk akihiroyamaguchi1208@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |akihiroyamaguchi1208@gmail. | |com
--- Comment #4 from atbjyk akihiroyamaguchi1208@gmail.com --- wine staging 4.2 + (dns patch on ubuntu) is worked. wine staging 4.3 crash.
https://bugs.winehq.org/show_bug.cgi?id=46870
Dmitriy xomachiner@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xomachiner@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #5 from atbjyk akihiroyamaguchi1208@gmail.com --- it's fixed now!!
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #6 from cormiert2@outlook.com --- How did you make it work?
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #7 from atbjyk akihiroyamaguchi1208@gmail.com --- latest wine staging git.
https://bugs.winehq.org/show_bug.cgi?id=46870
imbert.jacquesolivier@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |imbert.jacquesolivier@gmail | |.com
--- Comment #8 from imbert.jacquesolivier@gmail.com --- Do we must recompile from the source code ?
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #9 from Tristan Cormier cormiert2@outlook.com --- (In reply to imbert.jacquesolivier from comment #8)
Do we must recompile from the source code ?
The 4.5 patch (the one including the fix) was released some days ago. It's now available on Ubuntu and Arch Linux out of the box. You should check with your distribution for instructions on how to obtain the latest binary release.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #10 from imbert.jacquesolivier@gmail.com --- Do we must recompile from the source code ?(In reply to Tristan Cormier from comment #9)
(In reply to imbert.jacquesolivier from comment #8)
Do we must recompile from the source code ?
The 4.5 patch (the one including the fix) was released some days ago. It's now available on Ubuntu and Arch Linux out of the box. You should check with your distribution for instructions on how to obtain the latest binary release.
Thanks for the information ! I will try it and post the results here.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #11 from imbert.jacquesolivier@gmail.com ---
(In reply to imbert.jacquesolivier from comment #8)
Do we must recompile from the source code ?
The 4.5 patch (the one including the fix) was released some days ago. It's now available on Ubuntu and Arch Linux out of the box. You should check with your distribution for instructions on how to obtain the latest binary release.
Thanks for the information ! I will try it and post the results here.
Tested with the deb of Wine-Staging 4.5, on Wine repository : Crash is still here : https://bugs.winehq.org/show_bug.cgi?id=46961
https://bugs.winehq.org/show_bug.cgi?id=46870
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #12 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 64122 --> https://bugs.winehq.org/attachment.cgi?id=64122 wine-staging 4.5 terminal output
Crashing for me with wine-staging 4.5 (compiled on Debian 8 without vulkan or faudio).
Retested from scratch in a new 32 bit wineprefix with winetricks corefonts and virtual desktop (no WM decoration/control).
Installer downloaded on 2019-04-05 from https://euw.leagueoflegends.com/fr/
$ du -b League\ of\ Legends\ installer\ EUW.exe 99137272 League of Legends installer EUW.exe $ sha1sum League\ of\ Legends\ installer\ EUW.exe f06ac708689419e682101ed66fccbd50411cf87a League of Legends installer EUW.exe
$ du -b LeagueClient.exe 5194856 LeagueClient.exe $ sha1sum LeagueClient.exe 4e68a19e0c56769fcc1491b8547282a7dcc9c403 LeagueClient.exe
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #13 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 64123 --> https://bugs.winehq.org/attachment.cgi?id=64123 Crash in BsSndRpt.exe backtrace
Here is my backtrace from the crash in BsSndRpt.exe.
$ du -b RADS/projects/league_client/releases/0.0.0.194/deploy/BsSndRpt.exe 328720 RADS/projects/league_client/releases/0.0.0.194/deploy/BsSndRpt.exe $ sha1sum RADS/projects/league_client/releases/0.0.0.194/deploy/BsSndRpt.exe ebdaa5b347e084a25659905fa84fb3977aff1d89 RADS/projects/league_client/releases/0.0.0.194/deploy/BsSndRpt.exe
https://bugs.winehq.org/show_bug.cgi?id=46870
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Keywords| |download URL| |https://euw.leagueoflegends | |.com/fr/
--- Comment #14 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Confirming and filling URL field with link to the west europe download I used (Free Riot Games account required to download and play).
https://bugs.winehq.org/show_bug.cgi?id=46870
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://euw.leagueoflegends |https://euw.leagueoflegends |.com/fr/ |.com/
https://bugs.winehq.org/show_bug.cgi?id=46870
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |mpr
--- Comment #15 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Setting component to mpr until proper analysis (backtraces show crash in mpr functions).
https://bugs.winehq.org/show_bug.cgi?id=46870
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Component|mpr |-unknown
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- (In reply to Olivier F. R. Dierick from comment #15)
Setting component to mpr until proper analysis (backtraces show crash in mpr functions).
That's the bug reporting component crashing, which I suspect is not what you care about.
This bug report seems somewhat confused, a mixture of success and failure reports, and mentions of what was probably bug 46704. As far as I'm aware, the anti-cheat mechanism introduced in League of Legends 8.12 works with current Wine-Staging, and has since Wine-Staging 3.15 at least. It works if Windows version is set to XP, but not if it is set to Windows Vista or higher. I have seen no recent regression regarding this in 4.2 or 4.3. Both backtraces attached here show use of a Windows 7 prefix, which implies that the problem is related to the anti-cheat engine. However, this has never worked in a Windows 7 prefix, so I would be very curious to know why, as stated, this is believed to be a regression.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #17 from imbert.jacquesolivier@gmail.com ---
(In reply to Zebediah Figura from comment #16)
(In reply to Olivier F. R. Dierick from comment #15)
Setting component to mpr until proper analysis (backtraces show crash in mpr functions).
That's the bug reporting component crashing, which I suspect is not what you care about.
This bug report seems somewhat confused, a mixture of success and failure reports, and mentions of what was probably bug 46704. As far as I'm aware, the anti-cheat mechanism introduced in League of Legends 8.12 works with current Wine-Staging, and has since Wine-Staging 3.15 at least. It works if Windows version is set to XP, but not if it is set to Windows Vista or higher. I have seen no recent regression regarding this in 4.2 or 4.3. Both backtraces attached here show use of a Windows 7 prefix, which implies that the problem is related to the anti-cheat engine. However, this has never worked in a Windows 7 prefix, so I would be very curious to know why, as stated, this is believed to be a regression.
Because my issue was reported as resolved ( duplicate of Bug 46961 ) but the bug 46961 has not the same issue as me and here... I will continue the posts here.
I don't understand your procedures to repair bugs ( or to consider a bug as resolved )... And thank you to modify the title and datas that doesn't correspond to the reality of my issue on my previous ticket.
Anyway, my issue is confirmed by Olivier F. R. Dierick who has the same issue on the same version of Wine Staging ( like him I tested it on EUR servers ).
Game and client updates are OK. But Game crashes when we try to play any modes of the game, and we get BsSndRpt.exe error and League of Legends crashes
Why when we set WinXP prefix the game worked ? Why not with another prefix ? It is a mystery... So yeah according to Wine database and the status of the game, because of the current problem, League of Legends cannot have the Platinium/Gold status and can be considered that Wine code has a regression somewhere.
Time to refesrh spirits : -> https://bugs.winehq.org/show_bug.cgi?id=44865 : Same bug (????) -> Original title of my ticket "League of Legends : Can't Launch client on Win 10 prefix / WinXP prefix cannot be used for future releases of the game" / According to Zebediah Figura reality "League of Legends launcher crashes when Windows version is set to 8 or higher" - https://bugs.winehq.org/show_bug.cgi?id=46961 : Same bug here confirmed thanks to Olivier F. R. Dierick tests -> https://bugs.winehq.org/show_bug.cgi?id=45666 : Patch applied on Wine-Staging (?) -> https://bugs.winehq.org/show_bug.cgi?id=45667 : Patch applied on Wine-Staging (?)
To finish that, according to a Wine-Staging author, the patches added on Wine-Staging solves the Leagues Of Legens anti-cheat engine issue :
https://github.com/wine-staging/wine-staging/commit/ac1bb98de41a87e634037c5f...
But we are here to say that's not the case...
So, what do you suggest to do before we have the invasion of the LOL Linux community because we have wrongs informations about the reality of the patches about anti-cheat engine. We have few days before to consider official the League of Legends as "Garbage".
https://na.leagueoflegends.com/en/news/riot-games/announcements/ending-suppo...
Ending Support for Windows XP and Vista By Riot Cactopus
NOTE: If you're using an operating system that's newer than Windows XP or Windows Vista, just ignore this post. Otherwise, read on!
Hi folks,
In May 2019 (after patch 9.9), League of Legends is going to stop supporting Windows XP and Windows Vista.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #18 from imbert.jacquesolivier@gmail.com --- *** Bug 46961 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #19 from imbert.jacquesolivier@gmail.com --- So, i will apply the informations of leslie_alistair about the patches and see if the informations is true or not. It will take one day for me maximum to compile the source code. I will publish the results here.
https://bugs.winehq.org/show_bug.cgi?id=46870
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #20 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 64127 --> https://bugs.winehq.org/attachment.cgi?id=64127 dumb hack
Does the dumb hack change anything for you?
I applied Wesie`s hack at https://bugs.winehq.org/attachment.cgi?id=62093&action=diff&context=...
and this dumb hack on top of current wine-staging, and it doesn`t crash anymore while entering trainingmode
I also have some other patches applied on top of current wine-staging but i don`t think they are anyting related.
The graphics looks awful/flickering, but that might be a problem on my side (actually I hardly see anything ...)
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #21 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 64128 --> https://bugs.winehq.org/attachment.cgi?id=64128 sad graphics
sad graphics
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #22 from imbert.jacquesolivier@gmail.com --- (In reply to Louis Lenders from comment #21)
Created attachment 64128 [details] sad graphics
sad graphics
(In reply to Louis Lenders from comment #20)
Created attachment 64127 [details] dumb hack
Does the dumb hack change anything for you?
I applied Wesie`s hack at https://bugs.winehq.org/attachment. cgi?id=62093&action=diff&context=patch&collapsed=&headers=1&format=raw
and this dumb hack on top of current wine-staging, and it doesn`t crash anymore while entering trainingmode
I also have some other patches applied on top of current wine-staging but i don`t think they are anyting related.
The graphics looks awful/flickering, but that might be a problem on my side (actually I hardly see anything ...)
Thank you for the information ! I will apply the patch you submitted manually on my compile directory, after the execution of patchinstall.sh.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #23 from imbert.jacquesolivier@gmail.com --- Note : Before that, I tried with the latest wine-staging git with latest wine without the patch you sent, Louis Lenders. I have crashes like before, but alesliehughes/leslie_alistair confirmed that it works : so leslie_alistair gave me wrong information about the LOL anti-cheat issue.
Now, the patch that sent Louis Lenders is currently applied on my computer. Need some time for the compilation. I will report here the future results for this test
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #24 from imbert.jacquesolivier@gmail.com --- Tested with the suggested patch : same issue. So we have for the moment no solutions to have LOL working under Windows 7 prefix minimum.
Few days left before the end of LOL on Linux.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #25 from Zebediah Figura z.figura12@gmail.com --- (In reply to imbert.jacquesolivier from comment #17)
Because my issue was reported as resolved ( duplicate of Bug 46961 ) but the bug 46961 has not the same issue as me and here... I will continue the posts here.
I don't understand your procedures to repair bugs ( or to consider a bug as resolved )... And thank you to modify the title and datas that doesn't correspond to the reality of my issue on my previous ticket.
I've replied to these concerns in bug 46961.
Why when we set WinXP prefix the game worked ? Why not with another prefix ? It is a mystery... So yeah according to Wine database and the status of the game, because of the current problem, League of Legends cannot have the Platinium/Gold status and can be considered that Wine code has a regression somewhere.
The regression is not in Wine. The regression is because League of Legends changed. This happened back in July 2018 or so (I don't remember exactly). It added an invasive anti-cheat engine. This engine was eventually sufficiently reverse-engineered by Andrew Wesie, who figured out how to successfully run it under Windows XP. However, he did not figure out how to successfully run it under Windows Vista or higher.
To finish that, according to a Wine-Staging author, the patches added on Wine-Staging solves the Leagues Of Legens anti-cheat engine issue :
https://github.com/wine-staging/wine-staging/commit/ ac1bb98de41a87e634037c5fc359858426709727
But we are here to say that's not the case...
To be clear, that patch does not claim that it fixes League of Legends in Vista+. It fixes *one* of the bugs affecting the anticheat engine in Vista+. But there are others, not all of which have been diagnosed yet.
So, what do you suggest to do before we have the invasion of the LOL Linux community because we have wrongs informations about the reality of the patches about anti-cheat engine. We have few days before to consider official the League of Legends as "Garbage".
Debug it? :D
Nobody has claimed that the patches existing work with Windows 7, so I'm not sure why you say there's "wrong information".
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #26 from Tristan Cormier cormiert2@outlook.com --- Can somebody PLEASE mark this issue as resolved? The initial issue has been fixed for almost a week already.
If you're still experiencing issues with the game, make sure you're running the LATEST released version and run the game in Windows XP compatibility mode, like literally EVERYONE else has been since ALWAYS.
The fact that the game does not run on anything higher than XP compatibility is not related to the current bug report and any additional comment regarding that problem should be posted under https://bugs.winehq.org/show_bug.cgi?id=45666
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #27 from Zebediah Figura z.figura12@gmail.com --- (In reply to Tristan Cormier from comment #26)
Can somebody PLEASE mark this issue as resolved? The initial issue has been fixed for almost a week already.
If you're still experiencing issues with the game, make sure you're running the LATEST released version and run the game in Windows XP compatibility mode, like literally EVERYONE else has been since ALWAYS.
Well, no. The fact that the game doesn't work in Vista+ is a valid bug. It's less important now, because there's a workaround (though this will not be the case soon enough).
The fact that the game does not run on anything higher than XP compatibility is not related to the current bug report and any additional comment regarding that problem should be posted under https://bugs.winehq.org/show_bug.cgi?id=45666
Bug 45666 is only one of the bugs affecting Vista+; bug 45667 is another, but both of those are not the only ones, so we need another bug for whatever else is broken.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #28 from Louis Lenders xerox.xerox2000x@gmail.com --- Just to make sure we`re talking about same issue(because i`m new at this game);
What I tried is click home --> play --> training-->tutorial -->confirm --> Start now
(windows version is set to win7)
That crashed for me, but with the attached hack the crash is gone.
I have a few other patches applied on top of Staging, maybe they might make a difference, i`ll try post here complete patch on top of Staging that makes tutorial start for me.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #29 from imbert.jacquesolivier@gmail.com --- (In reply to Louis Lenders from comment #28)
Just to make sure we`re talking about same issue(because i`m new at this game);
What I tried is click home --> play --> training-->tutorial -->confirm --> Start now
(windows version is set to win7)
That crashed for me, but with the attached hack the crash is gone.
I have a few other patches applied on top of Staging, maybe they might make a difference, i`ll try post here complete patch on top of Staging that makes tutorial start for me.
I will be interested for this Louis Lenders, I think i need to restart from scrath. Do I need to make a new prefix after the patch ? I will wait for your solutions / patchs in case of I do mistakes. I can try it too on my PC to have more datas about the issue.
Note : I have the same issue in the game too in : home --> play --> training --> training tool --> creation of the game --> select character --> Waiting for the time --> Crash at the end of the timer
(In reply to Tristan Cormier from comment #26)
Can somebody PLEASE mark this issue as resolved? The initial issue has been fixed for almost a week already.
If you're still experiencing issues with the game, make sure you're running the LATEST released version and run the game in Windows XP compatibility mode, like literally EVERYONE else has been since ALWAYS.
The fact that the game does not run on anything higher than XP compatibility is not related to the current bug report and any additional comment regarding that problem should be posted under https://bugs.winehq.org/show_bug.cgi?id=45666
Please read this : https://na.leagueoflegends.com/en/news/riot-games/announcements/ending-suppo...
That's why recently we tried on Win 7 prefix minimum because of this official news. This is not an invalid bug...
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #30 from imbert.jacquesolivier@gmail.com --- And remember, from Riot :
https://boards.na.leagueoflegends.com/en/c/bug-report/sB4ucqXc-game-client-a...
""" We've not specifically tested for compatibility with Wine or other Windows emulation or virtualization software. Because of the complex nature of our protection and the many variations of software out there, we can't change our solution to be compatible with all of them. However, we are open to working with any software vendor that wants to make their software compatible. """
If the solution of Wine is "Use an program to modify official files of LOL", you can skip that definitively : this will ban players.
And I think it will be no difficult to talk with Riot to find solutions.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #31 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 64130 --> https://bugs.winehq.org/attachment.cgi?id=64130 patch applied on top of wine-staging
I attach patch here that i applied on top of staging. After that compiled with:
../wine/configure CFLAGS="-O0 " --enable-win64 --disable-tests && nice -19 make -j2 && cd ../wine32-build/ && PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/ ../wine/configure CFLAGS="-O0" --with-wine64=../wine64-build --disable-tests && nice -19 make -j2
This fixed the following crash for me:
click home --> play --> training-->tutorial -->confirm --> Start now --> crash
I don`t know about training tool and character selection so not sure if we`re talking about the same crash here. I do not even know how to enter a game ;), only tried tutorial
For me at least it fixed this particular crash. Maybe it deserves an own bugreport. So don`t shoot me if it doesn`t work for you for entering a game!
The patch contains apart from my hack and Wesie`s patch a few other patches that I always standard apply on top of staging to work around a few bugs in bugzilla*; I don`t know if they influence anything for this bug...
* https://bugs.winehq.org/show_bug.cgi?id=46635 https://bugs.winehq.org/show_bug.cgi?id=45703 https://bugs.winehq.org/show_bug.cgi?id=45645 https://bugs.winehq.org/show_bug.cgi?id=45642
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #32 from imbert.jacquesolivier@gmail.com --- (In reply to Louis Lenders from comment #31)
Created attachment 64130 [details] patch applied on top of wine-staging
I attach patch here that i applied on top of staging. After that compiled with:
../wine/configure CFLAGS="-O0 " --enable-win64 --disable-tests && nice -19 make -j2 && cd ../wine32-build/ && PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/ ../wine/configure CFLAGS="-O0" --with-wine64=../wine64-build --disable-tests && nice -19 make -j2
This fixed the following crash for me:
click home --> play --> training-->tutorial -->confirm --> Start now --> crash
I don`t know about training tool and character selection so not sure if we`re talking about the same crash here. I do not even know how to enter a game ;), only tried tutorial
For me at least it fixed this particular crash. Maybe it deserves an own bugreport. So don`t shoot me if it doesn`t work for you for entering a game!
The patch contains apart from my hack and Wesie`s patch a few other patches that I always standard apply on top of staging to work around a few bugs in bugzilla*; I don`t know if they influence anything for this bug...
https://bugs.winehq.org/show_bug.cgi?id=46635 https://bugs.winehq.org/show_bug.cgi?id=45703 https://bugs.winehq.org/show_bug.cgi?id=45645 https://bugs.winehq.org/show_bug.cgi?id=45642
Good News ! Thanks to Louis Lenders patch, I successfully started a game in training mode !
For the modifications, I used the file here -- https://bugs.winehq.org/attachment.cgi?id=64130&action=diff -- but I modified only the files : - dlls/ntdll/nt.c - dlls/ntdll/om.c - dlls/ntdll/thread.c - include/winternl.h - tools/winebuild/spec32.c
In the next message you will have my screenshot :3
Good job Louis Lenders ! Kudos to you !
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #33 from imbert.jacquesolivier@gmail.com --- Created attachment 64133 --> https://bugs.winehq.org/attachment.cgi?id=64133 Wine Staging with Louis Lenders patch ( see previous message )
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #34 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
Issue is present with wine-staging 4.5 + patch from bug 45666.
Issue is not present with wine-staging 4.5 + patch from comment #31.
No other patch was required to make the game playable in win7 mode.
I think the next step is to make a staging patchset out of the patch.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #35 from Zebediah Figura z.figura12@gmail.com --- (In reply to Olivier F. R. Dierick from comment #34)
I think the next step is to make a staging patchset out of the patch.
I'll do some testing and see which parts of that patch are necessary. Though given that NtQueryObject() changes break existing tests, we'll want rather to fix them the right way. That shouldn't be too hard, though.
https://bugs.winehq.org/show_bug.cgi?id=46870
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-SystemExte | |ndedProcessInformation Hardware|x86-64 |x86 Summary|League of Legends 9.6 |League of Legends 8.12+ |crashes at game start with |fails to start a game in |>4.2 wine |Vista+ mode (anticheat | |engine, | |SystemExtendedProcessInform | |ation) Status|NEW |STAGED Component|-unknown |ntdll Keywords| |obfuscation
--- Comment #36 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #35)
(In reply to Olivier F. R. Dierick from comment #34)
I think the next step is to make a staging patchset out of the patch.
I'll do some testing and see which parts of that patch are necessary. Though given that NtQueryObject() changes break existing tests, we'll want rather to fix them the right way. That shouldn't be too hard, though.
As far as my testing shows, only the SystemExtendedProcessInformation stub is necessary. I've added to Staging.
https://bugs.winehq.org/show_bug.cgi?id=46870
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-SystemExte | |ndedProcessInformation Hardware|x86-64 |x86 Summary|League of Legends 9.6 |League of Legends 8.12+ |crashes at game start with |fails to start a game in |>4.2 wine |Vista+ mode (anticheat | |engine, | |SystemExtendedProcessInform | |ation) Status|NEW |STAGED Component|-unknown |ntdll Keywords| |obfuscation
--- Comment #36 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #35)
(In reply to Olivier F. R. Dierick from comment #34)
I think the next step is to make a staging patchset out of the patch.
I'll do some testing and see which parts of that patch are necessary. Though given that NtQueryObject() changes break existing tests, we'll want rather to fix them the right way. That shouldn't be too hard, though.
As far as my testing shows, only the SystemExtendedProcessInformation stub is necessary. I've added to Staging.
--- Comment #37 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Zebediah Figura from comment #36)
(In reply to Zebediah Figura from comment #35)
(In reply to Olivier F. R. Dierick from comment #34)
I think the next step is to make a staging patchset out of the patch.
I'll do some testing and see which parts of that patch are necessary. Though given that NtQueryObject() changes break existing tests, we'll want rather to fix them the right way. That shouldn't be too hard, though.
As far as my testing shows, only the SystemExtendedProcessInformation stub is necessary. I've added to Staging.
just for the info: this page suggests https://processhacker.sourceforge.io/doc/ntexapi_8h_source.html:
1261 SystemExtendedProcessInformation, // q: SYSTEM_PROCESS_INFORMATION
i checked yesterday that the following fixes the crash for me too:
@@ -2524,6 +2553,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( else ret = STATUS_INFO_LENGTH_MISMATCH; } break; + case SystemExtendedProcessInformation: case SystemProcessInformation: { SYSTEM_PROCESS_INFORMATION* spi = SystemInformation;
No clue if it`s better/worse, just for the info
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #38 from Zebediah Figura z.figura12@gmail.com --- I don't think we can just redirect one to the other; the layout is different.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #39 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 64150 --> https://bugs.winehq.org/attachment.cgi?id=64150 I needed this part too with wine-staging 4.5 + staged patchset
(In reply to Zebediah Figura from comment #36)
As far as my testing shows, only the SystemExtendedProcessInformation stub is necessary. I've added to Staging.
Hello,
The staged patchset was not enough for me. I put it on top of wine-staging 4.5 release and the game still failed. The only change was that the wine backtrace dialog didn't show up (no exception in the log). The game still complained with its own error dialog, though.
I split Louis Lenders patch and found that the working combination was wine-staging 4.5 + staged patchset + configure/configure.ac modifications.
I didn't test with current git though, so the difference may come from there. I will retest when 4.6 comes out.
Regards
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #40 from Zebediah Figura z.figura12@gmail.com --- (In reply to Olivier F. R. Dierick from comment #39)
Created attachment 64150 [details] I needed this part too with wine-staging 4.5 + staged patchset
(In reply to Zebediah Figura from comment #36)
As far as my testing shows, only the SystemExtendedProcessInformation stub is necessary. I've added to Staging.
Hello,
The staged patchset was not enough for me. I put it on top of wine-staging 4.5 release and the game still failed. The only change was that the wine backtrace dialog didn't show up (no exception in the log). The game still complained with its own error dialog, though.
I split Louis Lenders patch and found that the working combination was wine-staging 4.5 + staged patchset + configure/configure.ac modifications.
I didn't test with current git though, so the difference may come from there. I will retest when 4.6 comes out.
Regards
That's rather odd. Just applying the changes to configure and configure.ac are enough? I wouldn't expect that to even successfully build without the corresponding changes to winegcc.
https://bugs.winehq.org/show_bug.cgi?id=46870
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #41 from Paul Gofman gofmanp@gmail.com --- (In reply to Zebediah Figura from comment #40)
That's rather odd. Just applying the changes to configure and configure.ac are enough? I wouldn't expect that to even successfully build without the corresponding changes to winegcc.
Those changes in configure.ac are making no-PIC build. Maybe this has something to do with yet another bunch of function which the engine wants to hotpatch?
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #42 from Zebediah Figura z.figura12@gmail.com --- (In reply to Paul Gofman from comment #41)
(In reply to Zebediah Figura from comment #40)
That's rather odd. Just applying the changes to configure and configure.ac are enough? I wouldn't expect that to even successfully build without the corresponding changes to winegcc.
Those changes in configure.ac are making no-PIC build. Maybe this has something to do with yet another bunch of function which the engine wants to hotpatch?
Yes, I know, but I'm pretty sure it needs corresponding change to winegcc to actually work. Moreover, I tested myself with a PIC build, and successfully ran a custom match.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #43 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Zebediah Figura from comment #42)
Yes, I know, but I'm pretty sure it needs corresponding change to winegcc to actually work. Moreover, I tested myself with a PIC build, and successfully ran a custom match.
Hello,
Do you use optimization flags?
I don't, and according to comment 16 from bug 28140:
--- Quote --- the only case for '-fPIC' where a load of GOT register is emitted into prolog code is indeed "no optimization". Gcc seems to intentionally generate "bad" code here, including a redundant load of GOT register. --- Quote ---
I tested wine-staging 4.5 + staged patchset and CFLAGS='-O1 ' and I still get the game error, though.
I also tested wine-staging 4.5 + staged patchset + the two commits from bug28140 (DECLSPEC_HOTPATCH SizeOfRessource() and FindClose()), in case those were what the game wanted to hotpatch, but it still failed.
$ gcc --version gcc (Debian 4.9.2-10+deb8u2) 4.9.2 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Regards
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #44 from Paul Gofman gofmanp@gmail.com --- (In reply to Olivier F. R. Dierick from comment #43)
--- Quote --- the only case for '-fPIC' where a load of GOT register is emitted into prolog code is indeed "no optimization". Gcc seems to intentionally generate "bad" code here, including a redundant load of GOT register. --- Quote ---
I tested wine-staging 4.5 + staged patchset and CFLAGS='-O1 ' and I still get the game error, though.
Please mind "...redundant load of GOT register" in that comment. I suppose if the load of GOT register is not redundant in the specific function (i. e., unlike the function concerned in that bug the GOT register will be actually used), gcc will load GOT register with any optimization level. Unless you use no PIC build which gets rid of that entirely.
I also tested wine-staging 4.5 + staged patchset + the two commits from bug28140 (DECLSPEC_HOTPATCH SizeOfRessource() and FindClose()), in case those were what the game wanted to hotpatch, but it still failed.
Even if it is really related to hotpatching, the chance it is about the same functions is very low. If you want to test for sure if it is hotpacthing vs PIC issue or not, you need to turn on DECLSPEC_HOTPATCH for all winapi functions to see that at once. I suppose you can do that using this patch made by Zebediah (https://www.winehq.org/pipermail/wine-devel/2018-July/128940.html) and full rebuild.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #45 from Paul Gofman gofmanp@gmail.com --- (In reply to Paul Gofman from comment #44)
I suppose you can do that using this patch made by Zebediah (https://www.winehq.org/pipermail/wine-devel/2018-July/128940.html) and full rebuild.
Sorry, please disregard this part, I am not sure this will work. I need to test this before suggesting.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #46 from Zebediah Figura z.figura12@gmail.com --- (In reply to Olivier F. R. Dierick from comment #43)
(In reply to Zebediah Figura from comment #42)
Yes, I know, but I'm pretty sure it needs corresponding change to winegcc to actually work. Moreover, I tested myself with a PIC build, and successfully ran a custom match.
Hello,
Do you use optimization flags?
I don't, and according to comment 16 from bug 28140:
--- Quote --- the only case for '-fPIC' where a load of GOT register is emitted into prolog code is indeed "no optimization". Gcc seems to intentionally generate "bad" code here, including a redundant load of GOT register. --- Quote ---
I do (default CFLAGS="-g -O2"), but I also recall explicitly examining hex dumps for an issue related to hotpatching, and noting that GOT register load was emitted as the first instruction. It may certainly be a matter of not being used for certain functions, though. I'll try setting -O0 and see if that makes the crash appear.
(In reply to Paul Gofman from comment #45)
(In reply to Paul Gofman from comment #44)
I suppose you can do that using this patch made by Zebediah (https://www.winehq.org/pipermail/wine-devel/2018-July/128940.html) and full rebuild.
Sorry, please disregard this part, I am not sure this will work. I need to test this before suggesting.
IIRC that should work. The only reason that patch couldn't be committed is because it causes warnings for every typedef that uses __stdcall.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #47 from Paul Gofman gofmanp@gmail.com --- I downloaded LoL client and tested it.
I could not reproduce any problem with the current Wine Staging (optimized build), everything worked out of the box, no overrides, no crash on training battle start.
I could reproduce the crash on training battle start after building with '-g -O0'. I figured that the crash goes away for me if to take just xaudio2_7.dll from the optimized build. Crash also goes away if I use native override for xaudio2_7, or if I take xaudio2_7 from mainstream Wine even built with the same '-g -O0' flags (mainstream Wine uses new FAudio based xaudio, while Staging is using an old one). If I do an ugly hack defining WINAPI with DECLSPEC_HOTPATCH in Staging xaudio, it changes nothing. So it doesn't look the problem has anything to do with hotpatching.
The crash happens from 'IXAudio2VoiceCallback_OnVoiceProcessingPassStart(src->cb, underrun);' called in do_engine_tick(). I did not track down what exactly goes wrong with it with no optimization flags as I am not sure how much it is interesting given the old xaudio is being replaced by FAudio one and that does not happen there.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #48 from Zebediah Figura z.figura12@gmail.com --- (In reply to Paul Gofman from comment #47)
I downloaded LoL client and tested it.
I could not reproduce any problem with the current Wine Staging (optimized build), everything worked out of the box, no overrides, no crash on training battle start.
I could reproduce the crash on training battle start after building with '-g -O0'. I figured that the crash goes away for me if to take just xaudio2_7.dll from the optimized build. Crash also goes away if I use native override for xaudio2_7, or if I take xaudio2_7 from mainstream Wine even built with the same '-g -O0' flags (mainstream Wine uses new FAudio based xaudio, while Staging is using an old one). If I do an ugly hack defining WINAPI with DECLSPEC_HOTPATCH in Staging xaudio, it changes nothing. So it doesn't look the problem has anything to do with hotpatching.
The crash happens from 'IXAudio2VoiceCallback_OnVoiceProcessingPassStart(src->cb, underrun);' called in do_engine_tick(). I did not track down what exactly goes wrong with it with no optimization flags as I am not sure how much it is interesting given the old xaudio is being replaced by FAudio one and that does not happen there.
Thanks for the extensive debugging.
I guess inasmuch as Staging is still using the old xaudio2 implementation, this should be fixed at least for Staging. But it's not immediately clear what's wrong, and since I'd expect anyone who's not specifically interested in doing debugging to use -O2, I'm inclined to put this somewhere near the bottom of the priority list, at least until after we switch to the new FAudio-based implementation :-)
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #49 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
This is very instructive.
I now know what choices I have to fix this specific case.
Until I upgrade to Debian 9, and staging switches to FAudio, I can either: - Use 'no_PIC' patch; - Use '-g -O2' flags; - Set xaudio2_7 to native.
I also don't think that fixing the old implementation is worth the effort.
Regards
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #50 from Paul Gofman gofmanp@gmail.com --- Created attachment 64154 --> https://bugs.winehq.org/attachment.cgi?id=64154 xaudio2_7: Preserve EBX in call_on_voice_processing_pass_start().
I could not help looking into this intriguing issue a bit more and found that the problem is that the IXAudio2VoiceCallback_OnVoiceProcessingPassStart callback does not preserve EBX register. It is apparently not the first time such callbacks are naughty this way, as there is already a workaround preserving %esi for EVE Online. I am attaching the patch (on top of Staging) which fixes the issue for me.
There is the same callback with the same workaround for EVE online called in mainstream FAudio xaudio, but the problem is not there as the code is entirely different and function just ends after this callback call, so it apparently does not need that EBX anymore. Yet if anyone confirms that this patch is fixing the crash with some tricky build, it probably worth doing it there also.
https://bugs.winehq.org/show_bug.cgi?id=46870
--- Comment #51 from Zebediah Figura z.figura12@gmail.com --- (In reply to Paul Gofman from comment #50)
Created attachment 64154 [details] xaudio2_7: Preserve EBX in call_on_voice_processing_pass_start().
I could not help looking into this intriguing issue a bit more and found that the problem is that the IXAudio2VoiceCallback_OnVoiceProcessingPassStart callback does not preserve EBX register. It is apparently not the first time such callbacks are naughty this way, as there is already a workaround preserving %esi for EVE Online. I am attaching the patch (on top of Staging) which fixes the issue for me.
There is the same callback with the same workaround for EVE online called in mainstream FAudio xaudio, but the problem is not there as the code is entirely different and function just ends after this callback call, so it apparently does not need that EBX anymore. Yet if anyone confirms that this patch is fixing the crash with some tricky build, it probably worth doing it there also.
Thanks for debugging further. I suspect we'd still want that in current Wine, then; the fact that the current build successfully restores (or doesn't depend on) EBX (and perhaps also other registers as well) is not something we can depend on.
https://bugs.winehq.org/show_bug.cgi?id=46870
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED Fixed by SHA1| |ab1469597ab3382059ce4ed99b1 | |481fd692678f9 Resolution|--- |FIXED
--- Comment #52 from Zebediah Figura z.figura12@gmail.com --- This bug is fixed by https://source.winehq.org/git/wine.git/commitdiff/ab1469597ab3382059ce4ed99b1481fd692678f9.
https://bugs.winehq.org/show_bug.cgi?id=46870
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #53 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.21.