https://bugs.winehq.org/show_bug.cgi?id=41695
Bug ID: 41695 Summary: LeagueClient.exe Call to unimplemented function api-ms-win-crt-math-l1-1-0.dll.nearbyint Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: api-ms-win-* Assignee: wine-bugs@winehq.org Reporter: yumekuineru@hotmail.com Distribution: ---
Created attachment 56095 --> https://bugs.winehq.org/attachment.cgi?id=56095 WINEPREFIX=~/wineprefixes/League3 wine LeagueClient.exe --no-sandbox #call to unimplemented function on line 229
The LeagueClient.exe alpha client (not the game client) is no longer working, and has started giving various errors when launched, among them a call to an unimplemented function.
Getting it installed is a bit elaborate, as it depends on an existing install of League of Legends:
* Install the normal League of Legends client + game. I have not tried installing from scratch in a while, and I hear it is tricky. I have a set of extracted/downloaded files (like 1-3 GB) from earlier, that I install an older base-version from, and then patch it up to the most recent version by running the (legacy/normal) client after the first install.
* vcrun2013 via winetricks (not sure if vcrun2015 is required)
At this point the normal/legacy client works, and it can be used to start games with the game client with very few or no complications at all.
* Installing the alpha LeagueClient.exe (not the game-client) [alpha-client download as of 2016-11-11: http://euw.leagueoflegends.com/en/client-update/download ] It is possible that it might be replaced with a download of the beta-version soon, as the alpha is about to end.
It should create a new launcher in the root directory of the League install (usually 'drive_c/Riot Games/League of Legends' called LeagueClient.exe. This needs to be launched with the --no-sandbox parameter, as it uses (I believe it was) the chrome webkit/its cef-sandbox, which seems to not work with wine too well.
* Running the LeagueClient.exe client/launcher. For me, the first launch after installing opens a progress-window showing a download/install of about 1GB. After it reaches abouts halfway, the message wine: Call from 0x7b43d49c to unimplemented function api-ms-win-crt-math-l1-1-0.dll.nearbyint, aborting is produced in the log, and it crashes shortly after (and then tries relaunching several time, leading to several crashes):
wine: Unhandled page fault on write access to 0x17b74049 at address 0x7bc540e2 (thread 005d), starting debugger...
wine: Unhandled exception 0x80000003 in thread ce at address 0x11ec7223 (thread 00ce), starting debugger...
etc
But either way, previously launching LeagueClient.exe with wine (and the --no-sandbox parameter) lead to the alpha client starting, patching the game files if necessary, and being usable for starting games.
Recently (around early november/patch 6.22 ? ), I have not been able to launch it beyond the startup process. The 1280x720 client window sometimes appears with a loading symbol, but just briefly before crashing.
The first crash/error on the first launch happens pretty early (line 229 in the attached log), the rest of the log is mainly the client trying to relaunch and crashing (or timing out with existing wine instance ?).
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #1 from yumekuineru@hotmail.com --- Created attachment 56096 --> https://bugs.winehq.org/attachment.cgi?id=56096 Nonrelated patch used to fix some nonrelated issue from way back I forgot. In case it is relevant, though I doubt it.
My wine version is staging, though I have tried running with csmt disabled with the same results.
https://bugs.winehq.org/show_bug.cgi?id=41695
David K. hevanen@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hevanen@googlemail.com
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #2 from yumekuineru@hotmail.com --- ucrtbase had a similar issue after I set a native override for api-ms-win-crt-math
I tried installing vcrun2015, it used these overrides:
Using native,builtin override for following DLLs: api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 atl140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140
Trying to install the alpha client (from an existing backup of a legacy client prefix) went straight to :
wine: Unhandled exception 0x80000003 in thread 85 at address 0x11ec7223 (thread 0085), starting debugger...
without any messages about calls to unimplemented functions. I guess these unimplemented functions either have bugs or need to be implemented in wine still, though I believe they might not be the main issue that stops the client from launching.
https://bugs.winehq.org/show_bug.cgi?id=41695
sylviu44@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sylviu44@gmail.com
--- Comment #3 from sylviu44@gmail.com --- Created attachment 56159 --> https://bugs.winehq.org/attachment.cgi?id=56159 attempted implementation for nearbyint stub
I have exactly the same problem here.
After a lot of trial and error, I found that overriding api-ms-win-crt-math-l1-1-0.dll and vcruntime140 fixes errors, and even shows a window, but crashes soon after, and complains about an unimplemented ucrtbase.nearbyint. If I try to override ucrtbase it just keeps crashing without even showing the window.
Tried using wine-1.9.23-46-g38372d1 (from git), wine-1.9.23, and even an old patched wine-1.9.11, they all show the same symptoms.
I also tried to fix it myself, but my patch doesn't do anything, it still complains about it being unimplemented.
https://bugs.winehq.org/show_bug.cgi?id=41695
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #4 from winetest@luukku.com --- I am not completely sure about this, but if you modify a file at
msvcrt/math.c then you also need to modify the .spec file in that directory.
For some reason you have edited ucrtbase.
Stubs become stdcall and cdels are forwards to some other file.
https://bugs.winehq.org/show_bug.cgi?id=41695
sylviu44@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #56159|0 |1 is obsolete| |
--- Comment #5 from sylviu44@gmail.com --- Created attachment 56170 --> https://bugs.winehq.org/attachment.cgi?id=56170 implement nearbyint and nearbyintf
Yeah, I had to add cdecls to both msvcrt.spec and ucrtbase.spec, and then some kind of reference to ucrtbase in api-ms-win-crt-math-l1-1-0.spec
Even though I'm not really familiar with how wine works, the League beta client's login screen works with this patch.
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #6 from yumekuineru@hotmail.com --- (In reply to sylviu44 from comment #5)
Created attachment 56170 [details] implement nearbyint and nearbyintf
Yeah, I had to add cdecls to both msvcrt.spec and ucrtbase.spec, and then some kind of reference to ucrtbase in api-ms-win-crt-math-l1-1-0.spec
Even though I'm not really familiar with how wine works, the League beta client's login screen works with this patch.
this alone does not really make alpha start for me.
wine 1.9.22 win64, xp staging with CSMT (I have tried without too, though not with patch). overrides for vcrun2013, vcrun2015, corefonts replaced api-math override with the same one with .dll removed
installed league from base install ran legacy client to patch upgraded to alpha client from legacy client clicked "run" on legacy client to start alpha, it crashed but created the LeagueClient.exe executable tried running LeagueClient.exe --no-sandbox, it crashed with the usual unhandled exception-errors.
I did find a leaguebase-install that works, from the playonlinux script though: https://www.playonlinux.com/en/app-1135-League_Of_Legends.html http://l3cdn.riotgames.com/Installer/SingleFileInstall/LeagueOfLegendsBaseNA...
i.e, it installs successfully and you can run the legacy client, but the alpha does not work at least for me.
there seems to be some workaround that was suggested in the #winehq channel where you launch the alpha client (LeagueClient.exe), wait for it to crash, then without closing the error - use xargs and /proc to relaunch one of the LeagueClientUx.exe processes, but yeah that one is on the weirder side.
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #7 from sylviu44@gmail.com --- (In reply to yumekuineru from comment #6)
(In reply to sylviu44 from comment #5)
Created attachment 56170 [details] implement nearbyint and nearbyintf
Yeah, I had to add cdecls to both msvcrt.spec and ucrtbase.spec, and then some kind of reference to ucrtbase in api-ms-win-crt-math-l1-1-0.spec
Even though I'm not really familiar with how wine works, the League beta client's login screen works with this patch.
this alone does not really make alpha start for me.
wine 1.9.22 win64, xp staging with CSMT (I have tried without too, though not with patch). overrides for vcrun2013, vcrun2015, corefonts replaced api-math override with the same one with .dll removed
installed league from base install ran legacy client to patch upgraded to alpha client from legacy client clicked "run" on legacy client to start alpha, it crashed but created the LeagueClient.exe executable tried running LeagueClient.exe --no-sandbox, it crashed with the usual unhandled exception-errors.
I did find a leaguebase-install that works, from the playonlinux script though: https://www.playonlinux.com/en/app-1135-League_Of_Legends.html http://l3cdn.riotgames.com/Installer/SingleFileInstall/LeagueOfLegendsBaseNA. exe
i.e, it installs successfully and you can run the legacy client, but the alpha does not work at least for me.
there seems to be some workaround that was suggested in the #winehq channel where you launch the alpha client (LeagueClient.exe), wait for it to crash, then without closing the error - use xargs and /proc to relaunch one of the LeagueClientUx.exe processes, but yeah that one is on the weirder side.
The vcrun2015 overrides are the issue. In a clean 32bit prefix, run winetricks to install vcrun2013 and d3dx9. Then add a (native, builtin) override for msvcp140 from winecfg. Running LeagueClient.exe --no-sandbox using the patched wine should now work.
Sometimes it does show unhandled exceptions or err:ntdll:RtlpWaitForCriticalSection. To fix that, I just kill all the lol processes, remove the lockfile in lol's installation directory, and try again until it works. Usually runs fine after 2-3 attempts.
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #8 from David K. hevanen@googlemail.com --- *** Bug 40907 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=41695
--- Comment #9 from yumekuineru@hotmail.com --- (In reply to sylviu44 from comment #7)
The vcrun2015 overrides are the issue. In a clean 32bit prefix, run winetricks to install vcrun2013 and d3dx9. Then add a (native, builtin) override for msvcp140 from winecfg. Running LeagueClient.exe --no-sandbox using the patched wine should now work.
This worked for me, thanks.
win64 prefix, 1.9.22 with CSMT enabled, uninstalled vcrun2015 with winetricks, still have vcrun2013 and (I think) d3dx9_39 installed. Removed all overrides, and added the single override msvcp140
I am also using the old patch in comment 1 (I think it was to fix the store?), as well as new newer nearbyint-patch.
https://bugs.winehq.org/show_bug.cgi?id=41695
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #10 from fjfrackiewicz@gmail.com --- This bug should be fixed by this commit: http://source.winehq.org/git/wine.git/commit/4d37b87219b17049e7b1928bc8148a5...
https://bugs.winehq.org/show_bug.cgi?id=41695
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|api-ms-win-* |msvcrt Fixed by SHA1| |4d37b87219b17049e7b1928bc81 | |48a561382f513 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- Fixed.
https://bugs.winehq.org/show_bug.cgi?id=41695
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.24.