http://bugs.winehq.org/show_bug.cgi?id=27036
Summary: League of Legends store crashes with an assertion Product: Wine Version: 1.3.19 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: secur32 AssignedTo: wine-bugs@winehq.org ReportedBy: mm-meissner@gmx.de
Created an attachment (id=34474) --> (http://bugs.winehq.org/attachment.cgi?id=34474) libgcrypt threading patch for schannel_gnutls.c
The League of Legends client crashes when one tries to open the store, the assertion printed to the console is: ient.exe: ath.c:193: _gcry_ath_mutex_lock: Zusicherung »*lock == ath_mutex_t) 0)« nicht erfüllt.
Translated to english: ient.exe: ath.c:193: _gcry_ath_mutex_lock: Assurance of »*lock == ath_mutex_t) 0)« not fulfilled.
I'd attach a backtrace if anyone could tell me how to actually create one, but it's highly possible that this crash is caused by the lack of threading support in the schannel implementation of wine. libgcrypt.so.11.5.3
Using the attached patch somehow seems to make these crashes more rare, however they still occur and the shop is incredible slow.
I'm using libgnutls-26.14.12 and libgcrypt-11.5.3
http://bugs.winehq.org/show_bug.cgi?id=27036
Marcel Meißner mm-meissner@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mm-meissner@gmx.de Severity|normal |major
http://bugs.winehq.org/show_bug.cgi?id=27036
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch Severity|major |normal
--- Comment #1 from Austin English austinenglish@gmail.com 2011-05-04 12:47:48 CDT --- Patches should be sent to wine-patches@winehq.org
http://bugs.winehq.org/show_bug.cgi?id=27036
Kjell Braden fnord@pentabarf.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fnord@pentabarf.de
--- Comment #2 from Kjell Braden fnord@pentabarf.de 2011-05-07 05:01:13 CDT --- I will submit my patch properly as soon as I can verify it again.
http://bugs.winehq.org/show_bug.cgi?id=27036
K1773R K1773R@darkgamex.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |K1773R@darkgamex.ch
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #3 from K1773R K1773R@darkgamex.ch 2011-11-14 19:05:17 CST --- anything new here?
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #4 from Kjell Braden fnord@pentabarf.de 2011-11-15 05:48:21 CST --- My original patch (the one marcel meissner attached here) is in bug #25504 (comment 2)[1]
As I haven't had the possibility to test it (since I was unable to start the Pvp.net client due to the RADS deadlock) I didn't submit it to wine-patches. Feel free to do so, but please give credit.
[1] http://bugs.winehq.org/show_bug.cgi?id=25504#c2
http://bugs.winehq.org/show_bug.cgi?id=27036
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jatt159@gmail.com
--- Comment #5 from Dmitry Timoshkov dmitry@baikal.ru 2011-12-26 08:52:22 CST --- *** Bug 29444 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru 2011-12-26 08:53:02 CST --- *** Bug 26578 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #7 from Adam Martinson adam.r.martinson@gmail.com 2012-01-13 20:58:17 CST --- Created attachment 38343 --> http://bugs.winehq.org/attachment.cgi?id=38343 backtrace
With native wininet FYI.
http://bugs.winehq.org/show_bug.cgi?id=27036
Adam Martinson adam.r.martinson@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adam.r.martinson@gmail.com
--- Comment #8 from Adam Martinson adam.r.martinson@gmail.com 2012-01-14 01:48:10 CST --- Kjell, I've been playing with your patch, and though it looks correct, it doesn't work for me (libgcrypt 1.4.5, ubuntu 10.10 x86_64), I still get the same assert failure. I checked and on my box gcry_control() is returning 2000003c, which gpg_strerror() translates to "Not supported".
Adding a critical section around the gnutls_handshake() call in schan_imp_handshake() seems to solve the crash for me, but the store is just black, nothing displays.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #9 from Adam Martinson adam.r.martinson@gmail.com 2012-02-07 14:10:44 CST --- So after some investigation, gcry_control(GCRYCTL_SET_THREAD_CBS) requires that no initialization has been done in order to succeed. I haven't found anything in secur32 that would cause prior initialization, my guess is it's from some other dll that's loading first. There are a bunch of other libs that use libgcrypt, so it may take a while to track down.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #10 from Adam Martinson adam.r.martinson@gmail.com 2012-02-07 23:12:15 CST --- Doing the gcry_control() call in ntdll's DllMain() works for me. I'm not sure if that's an acceptable solution, but it does get the call out first before any gcrypt init happens.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #11 from Adam Martinson adam.r.martinson@gmail.com 2012-03-18 14:17:52 CDT --- Created attachment 39446 --> http://bugs.winehq.org/attachment.cgi?id=39446 [1/3] configure: Add a check for libgcrypt.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #12 from Adam Martinson adam.r.martinson@gmail.com 2012-03-18 14:18:32 CDT --- Created attachment 39447 --> http://bugs.winehq.org/attachment.cgi?id=39447 [2/3] config update (dummy)
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #13 from Adam Martinson adam.r.martinson@gmail.com 2012-03-18 14:25:44 CDT --- Created attachment 39449 --> http://bugs.winehq.org/attachment.cgi?id=39449 [3/3] ntdll: HACK - Make libgcrypt thread-safe.
A couple people have asked me for this, so here you guys go. It's the proper way to fix it, but not the proper place. Basically the changes this makes to ntdll need to be made in each dll that actually loads a lib that uses libgcrypt instead of in ntdll. The only one I know of is secur32 via libgnutls, but there is at least 1 other.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #14 from Austin English austinenglish@gmail.com 2012-03-18 16:52:41 CDT --- (In reply to comment #13)
Created attachment 39449 [details] [3/3] ntdll: HACK - Make libgcrypt thread-safe.
A couple people have asked me for this, so here you guys go. It's the proper way to fix it, but not the proper place. Basically the changes this makes to ntdll need to be made in each dll that actually loads a lib that uses libgcrypt instead of in ntdll. The only one I know of is secur32 via libgnutls, but there is at least 1 other.
Just a guess, but a few dlls import secur32: austin@aw21 ~/wine-git $ git grep secur32 | grep IMPORT dlls/rpcrt4/Makefile.in:DELAYIMPORTS = iphlpapi wininet secur32 user32 dlls/schannel/Makefile.in:IMPORTS = secur32 dlls/secur32/Makefile.in:IMPORTLIB = secur32 dlls/security/Makefile.in:IMPORTS = secur32 dlls/wininet/Makefile.in:DELAYIMPORTS = secur32 crypt32 cryptui
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #15 from Henri Verbeet hverbeet@gmail.com 2012-03-18 17:38:00 CDT --- I don't think current versions of gnutls use libgcrypt anymore, so at least as far as secur32 is concerned this should go away on its own. If it did though, I'd argue that it should be up to gnutls to properly initialize libgcrypt, e.g. in gnutls_global_init(). Wine shouldn't have to care about what crypto backend gnutls was compiled with.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #16 from Adam Martinson adam.r.martinson@gmail.com 2012-03-18 21:11:52 CDT --- (In reply to comment #14)
Just a guess, but a few dlls import secur32: austin@aw21 ~/wine-git $ git grep secur32 | grep IMPORT dlls/rpcrt4/Makefile.in:DELAYIMPORTS = iphlpapi wininet secur32 user32 dlls/schannel/Makefile.in:IMPORTS = secur32 dlls/secur32/Makefile.in:IMPORTLIB = secur32 dlls/security/Makefile.in:IMPORTS = secur32 dlls/wininet/Makefile.in:DELAYIMPORTS = secur32 crypt32 cryptui
Wouldn't secur32's DllMain() still get called when it's imported?
(In reply to comment #15)
I don't think current versions of gnutls use libgcrypt anymore, so at least as far as secur32 is concerned this should go away on its own. If it did though, I'd argue that it should be up to gnutls to properly initialize libgcrypt, e.g. in gnutls_global_init(). Wine shouldn't have to care about what crypto backend gnutls was compiled with.
I agree, but I think it's not only a gnutls issue... My guess is some other lib is pulling in gcrypt and initializing it without setting the threading model, the same way gnutls does.
Fortunately it looks like gcrypt will fix this itself in the next release (1.6? See git://git.gnupg.org/libgcrypt.git => 5a1b2784cc1a718fd44d551b7ec018ef4614ce30). I would say just let people who need to use the hack until then.
http://bugs.winehq.org/show_bug.cgi?id=27036
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jonathlela@gmail.com
--- Comment #17 from Jerome Leclanche adys.wh@gmail.com 2012-04-05 18:04:20 CDT --- *** Bug 27751 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #18 from Danilo Riffo danriffo@gmail.com 2012-07-01 10:07:08 CDT --- Created attachment 40818 --> http://bugs.winehq.org/attachment.cgi?id=40818 improve LoL performance (and framerate)
because the original site is down and to make life easier for everyone, i have decided to upload this patch here so my script can download it using wget and everyone's happy. Sorry if this is the wrong place, but I can't find any other place to put it in.
http://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #19 from Danilo Riffo danriffo@gmail.com 2012-07-01 10:08:10 CDT --- Created attachment 40819 --> http://bugs.winehq.org/attachment.cgi?id=40819 avoid deadlock when destroying a thread (on multi-threaded machines)
because the original site is down and to make life easier for everyone, i have decided to upload this patch here so my script can download it using wget and everyone's happy. Sorry if this is the wrong place, but I can't find any other place to put it in.
http://bugs.winehq.org/show_bug.cgi?id=27036
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio@earthlink.net
--- Comment #20 from Hans Leidekker hans@meelstraat.net 2013-04-15 02:21:17 CDT --- *** Bug 33387 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=27036
Riccardo c10ud.dev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |c10ud.dev@gmail.com
--- Comment #21 from Riccardo c10ud.dev@gmail.com 2013-09-12 05:52:41 CDT --- cannot reproduce
wine-1.7.1 nvidia
http://bugs.winehq.org/show_bug.cgi?id=27036
Scott Ritchie scott@open-vote.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |scott@open-vote.org Resolution| |FIXED
--- Comment #22 from Scott Ritchie scott@open-vote.org 2013-09-13 19:06:00 CDT --- Seems fixed now.
http://bugs.winehq.org/show_bug.cgi?id=27036
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #23 from Alexandre Julliard julliard@winehq.org 2013-09-27 13:41:25 CDT --- Closing bugs fixed in 1.7.3.
http://bugs.winehq.org/show_bug.cgi?id=27036
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |the_punk_boy2009@yahoo.com
--- Comment #24 from Hans Leidekker hans@meelstraat.net 2013-11-14 07:32:12 CST --- *** Bug 34903 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yajo.sk8@gmail.com
--- Comment #25 from Anastasius Focht focht@gmx.net 2013-11-24 12:50:12 CST --- *** Bug 34874 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
K1773R K1773R@darkgamex.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|K1773R@darkgamex.ch |
http://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gz91zelo@gmail.com
--- Comment #26 from Anastasius Focht focht@gmx.net 2013-11-24 12:57:40 CST --- *** Bug 34993 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|League of Legends store |Multiple games/apps crash |crashes with an assertion |with an assertion in | |libgcrypt (libgrypt is not | |thread-safe) (League of | |Legends store, AC: | |Brotherhood, Wizard101, | |mstsc.exe)
--- Comment #27 from Anastasius Focht focht@gmx.net 2013-11-24 13:07:51 CST --- Hello folks,
refining the summary as this is kind of 'dupe collector' bug.
Regards
http://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kmcreddys@gmail.com
--- Comment #28 from Anastasius Focht focht@gmx.net --- *** Bug 35641 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=27036
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chalkitisge@gmail.com
--- Comment #29 from Austin English austinenglish@gmail.com --- *** Bug 34706 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=27036
Tom DJ_Tom974@hotmail.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |DJ_Tom974@hotmail.fr
https://bugs.winehq.org/show_bug.cgi?id=27036
Vsevolod Kartashev h1bymask@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |h1bymask@gmail.com
--- Comment #30 from Vsevolod Kartashev h1bymask@gmail.com --- Found out that the same problem appears on Wine 1.7.22 run in 32 bit on Ubuntu 12.04.5 with x86_64 linux 3.12.4-pf+:
ath.c:193: _gcry_ath_mutex_lock: Assertion "*lock == ((ath_mutex_t) 0)" failed.
It has appeared during IE 8.0.6001.18702 first run right after creating of new virtual hard drive and installation from PlayOnLinux 4.2.4:
Configure -> select new virtual drive -> Install components -> Internet Explorer 8
After switching the Wine version from 1.7.22 to 1.7.1, in run well. IE8 has shown the starting window and has opened a starting page. After closing IE and switching Wine version back from 1.7.1 to 1.7.22, it is running rather fine. Once there was the same crash.
It makes consider that the problem was not fixed 100% finally in the latest Wine.
https://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sarahrubin2@yahoo.com
--- Comment #31 from Anastasius Focht focht@gmx.net --- *** Bug 37190 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=27036
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lyh_baggio@hotmail.com
--- Comment #32 from Anastasius Focht focht@gmx.net --- *** Bug 37459 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=27036
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz Summary|Multiple games/apps crash |Multiple games/apps crash |with an assertion in |with an assertion in |libgcrypt (libgrypt is not |libgcrypt (libgcrypt is not |thread-safe) (League of |thread-safe) (League of |Legends store, AC: |Legends store, AC: |Brotherhood, Wizard101, |Brotherhood, Wizard101, |mstsc.exe) |mstsc.exe)
https://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #33 from Artem S. Tashkinov t.artem@mailcity.com --- This bug needs to be reopened.
I can reproduce it in Wine 1.7.48.
See bug 39049.
https://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #34 from Anastasius Focht focht@gmx.net --- Hello Artem,
--- quote --- This bug needs to be reopened.
I can reproduce it in Wine 1.7.48. --- quote ---
No. That's an upstream problem. Avoid distros that ship outdated/broken packages.
Regards
https://bugs.winehq.org/show_bug.cgi?id=27036
Julho julioreis.guedes@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julioreis.guedes@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=27036
--- Comment #35 from Julho julioreis.guedes@gmail.com --- that's it