https://bugs.winehq.org/show_bug.cgi?id=35933
Bug ID: 35933 Summary: Evolve Client (.NET 4.0 app) 'AppsMgr' fails to install downloaded applications/updates after login Product: Wine Version: 1.7.16 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
the client complains about a failed application installation after successful login.
'EvolveClient.log'
--- snip --- 2014-Apr-05 22:02:48.928060 - System: Microsoft Windows NT 5.1.2600 Service Pack 3 2014-Apr-05 22:02:49.097006 - Running version 1.8.3. 2014-Apr-05 22:02:49.119076 - Running against production backend. 2014-Apr-05 22:03:54.418803 - Testing connection to service... 2014-Apr-05 22:03:54.481578 - StartEvolveService: Attempting to start service: EvoSvc. 2014-Apr-05 22:03:55.090511 - StartEvolveService: Service EvoSvc started. 2014-Apr-05 22:03:55.097808 - Successfully verified connection to service. 2014-Apr-05 22:03:55.232754 - Successfully started crash watchdog. 2014-Apr-05 22:03:55.239605 - Client is running with admin privileges. 2014-Apr-05 22:03:55.246057 - Initializing overlay handler... 2014-Apr-05 22:03:55.271030 - Refreshing games database... 2014-Apr-05 22:03:55.280249 - Could not load games database (0x00000001). 2014-Apr-05 22:03:55.282433 - Desktop resolution is set to [1920, 1080] 2014-Apr-05 22:03:55.298575 - Starting game tracker... 2014-Apr-05 22:03:55.299851 - Successfully initialized 32-bit game tracker. 2014-Apr-05 22:03:55.437150 - Successfully initialized overlay handler. 2014-Apr-05 22:05:28.095030 - Logging in as 'winetester2k14'... 2014-Apr-05 22:05:35.526418 - AppsMgr: Downloading application 9 (https://update-cdn.evolvehq.com/apps/9/none-to-1.4.1-noarch.7z) to C:\users\focht\Temp\tmpc419.tmp... 2014-Apr-05 22:05:36.919298 - Successfully downloaded https://update-cdn.evolvehq.com/apps/9/none-to-1.4.1-noarch.7z... 2014-Apr-05 22:05:36.950796 - AppsMgr: Download of application 9 succeeded. Installing... 2014-Apr-05 22:05:36.986576 - AppsMgr: Caught exception while installing application 9: [EvoSvcClientClrThunk.RpcExceptionClr: Exception of type 'EvoSvcClientClrThunk.RpcExceptionClr' was thrown.] --- snip ---
The client communicates via RPC to the server/service and fails at some point. Tid 0x51 is the client RPC thread which propagates the failure (exception) to the gui thread 0x2b.
--- snip --- ... 002b:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05badaa0 L"AppsMgr: Download of application 9 succeeded. Installing...",0000003b,05bada08,0000003b,00000000,00000000) ret=1001f8a9 ... 0051:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05badcd8 L"C:\users\focht\Temp\tmpc419.tmp",0000001f,05badd20,0000001f,00000000,00000000) ret=1001f8a9 ... 002b:Call KERNEL32.ReleaseSemaphore(0000041c,00000001,0033e45c) ret=792c5715 002b:Ret KERNEL32.ReleaseSemaphore() retval=00000001 ret=792c5715 0051:Ret KERNEL32.WaitForSingleObjectEx() retval=00000000 ret=792c5693 ... 0051:Call KERNEL32.CreateEventW(00000000,00000001,00000001,00000000) ret=791d4d39 0051:Ret KERNEL32.CreateEventW() retval=00000600 ret=791d4d39 0051:Call KERNEL32.CreateThread(00000000,000fc000,791f59c0,0c4a2b50,00000004,0aa8e0f4) ret=7920a8ff 0051:Ret KERNEL32.CreateThread() retval=00000608 ret=7920a8ff 0051:Call KERNEL32.ResumeThread(00000608) ret=7920a7ea 0051:Ret KERNEL32.ResumeThread() retval=00000001 ret=7920a7ea ... 0058:Call PE DLL (proc=0x79002e54,module=0x79000000 L"mscoree.dll",reason=THREAD_ATTACH,res=(nil)) ... 0051:Call rpcrt4.RpcBindingFromStringBindingW(0c489cb0 L"ncalrpc:[Evolve]",05bada08) ret=10120fb9 0051:Ret rpcrt4.RpcBindingFromStringBindingW() retval=00000000 ret=10120fb9 0051:Call rpcrt4.RpcBindingSetAuthInfoW(0c498320,00000000,00000006,0000000a,00000000,00000000) ret=10120fe1 0051:Call secur32.AcquireCredentialsHandleW(00000000,0c4a128a L"NTLM",00000002,00000000,00000000,00000000,00000000,0aa8dff8,0aa8dff0) ret=7e86f475 0051:Ret secur32.AcquireCredentialsHandleW() retval=00000000 ret=7e86f475 0051:Ret rpcrt4.RpcBindingSetAuthInfoW() retval=00000000 ret=10120fe1 ... 0051:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,0aa8e0f8 L"1.4.1",00000005,05badcd8,00000005,00000000,00000000) ret=1001f8a9 ... 0051:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05badcd8 L"evolve-core",0000000b,00000000,00000000,00000000,00000000) ret=1001f859 ... 0051:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05badcd8 L"C:\users\focht\Temp\tmpc419.tmp",0000001f,00000000,00000000,00000000,00000000) ret=1001f859 ... 0051:Call KERNEL32.CreateFileA(00189f38 "\\.\pipe\lrpc\Evolve",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e87c316 0051:Ret KERNEL32.CreateFileA() retval=ffffffff ret=7e87c316 ... 0051:Call KERNEL32.WaitNamedPipeA(00189f38 "\\.\pipe\lrpc\Evolve",ffffffff) ret=7e87c3ed 0051:Ret KERNEL32.WaitNamedPipeA() retval=00000000 ret=7e87c3ed ... 0051:Call KERNEL32.RaiseException(000006ba,00000000,00000000,00000000) ret=7e885d1a 0051:trace:seh:raise_exception code=6ba flags=0 addr=0x7b83ac17 ip=7b83ac17 tid=0051 0051:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=0aa8d820 edx=7b83ab88 esi=0aa8d870 edi=0aa8d830 0051:trace:seh:raise_exception ebp=0aa8d808 esp=0aa8d7a4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000246 0051:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=6ba flags=0 ... 0051:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0aa8c818) ret=78ac872d 0051:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b83ac17 ip=7b83ac17 tid=0051 0051:trace:seh:raise_exception info[0]=19930520 0051:trace:seh:raise_exception info[1]=0aa8e0d0 0051:trace:seh:raise_exception info[2]=108bff3c 0051:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=19930520 edx=0aa8c764 esi=0aa8c804 edi=0aa8c7d0 0051:trace:seh:raise_exception ebp=0aa8c7a8 esp=0aa8c744 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000283 0051:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=e06d7363 flags=1 ... 0051:Call KERNEL32.RaiseException(e0434352,00000001,00000005,0aa8b704) ret=791cac08 0051:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83ac17 ip=7b83ac17 tid=0051 0051:trace:seh:raise_exception info[0]=80131500 0051:trace:seh:raise_exception info[1]=00000000 0051:trace:seh:raise_exception info[2]=00000000 0051:trace:seh:raise_exception info[3]=00000000 0051:trace:seh:raise_exception info[4]=79140000 0051:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=80131500 edx=0aa8b614 esi=0aa8b6c0 edi=0aa8b680 0051:trace:seh:raise_exception ebp=0aa8b658 esp=0aa8b5f4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000283 0051:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=e0434352 flags=1 ... 0051:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,0aa8c49c "AppDomainUnloadedException",0000001b,00000000,00000000) ret=79216b79 ... 0051:Call user32.PostMessageW(00010066,0000c042,00000000,00000000) ret=04c92ccf 002b:Ret winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000000 ret=7ec6d037 0051:Ret user32.PostMessageW() retval=00000001 ret=04c92ccf ... 002b:Call window proc 0xc706a2 (hwnd=0x10066,msg="DispatcherProcessQueue",wp=00000000,lp=00000000) ... 002b:Call KERNEL32.RaiseException(e0434352,00000001,00000005,0033e530) ret=791cac08 002b:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83ac17 ip=7b83ac17 tid=002b 002b:trace:seh:raise_exception info[0]=80131500 002b:trace:seh:raise_exception info[1]=00000000 002b:trace:seh:raise_exception info[2]=00000000 002b:trace:seh:raise_exception info[3]=00000000 002b:trace:seh:raise_exception info[4]=79140000 002b:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=80131500 edx=0033e444 esi=0033e4ec edi=0033e4b0 002b:trace:seh:raise_exception ebp=0033e488 esp=0033e424 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000283 002b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=e0434352 flags=1 ... 002b:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05badcd8 L"AppsMgr: Caught exception while installing application 9: [EvoSvcClientClrThunk.RpcExceptionClr: Exception of type 'EvoSvcClientClrThunk.RpcExceptionClr' was thrown.]",000000a6,05bade30,000000a6,00000000,00000000) ret=1001f8a9 --- snip ---
Using a managed .NET debugger I got this (the order of exceptions match the trace log):
--- snip --- (29.52): Unknown exception - code 000006ba (first chance) (29.52): C++ EH exception - code e06d7363 (first chance) (29.52): CLR exception - code e0434352 (first chance) ... OS Thread Id: 0x52 (24) Child SP IP Call Site 0aa9b830 7b83ac17 [HelperMethodFrame: 0aa9b830] 0aa9b880 0ebda650 EvoSvcClientClrThunk.IEvoMasterClr.InstallApplication(Int32, System.String, System.String, System.String, Boolean) 0aa9e218 0ebda401 EvolveClient.Apps.AppsMgr+<>c__DisplayClass2f.<InstallApp>b__2d() 0aa9e224 0e63e0ed EvoCore.Util.AsyncHelper+<>c__DisplayClass2.<RunAsync>b__1() 0aa9e228 0e63e040 System.Threading.Tasks.Task`1[[System.__Canon, mscorlib]].InvokeFuture(System.Object) 0aa9e254 0e63dfb4 System.Threading.Tasks.Task.InnerInvoke() 0aa9e260 0e63df05 System.Threading.Tasks.Task.Execute() 0aa9e290 0e63dd88 System.Threading.Tasks.Task.ExecutionContextCallback(System.Object) 0aa9e298 05185d89 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 0aa9e2bc 0e63d9d0 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) 0aa9e2f4 0e63d79e System.Threading.Tasks.Task.ExecuteEntry(Boolean) 0aa9e304 0e63d698 System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 0aa9e308 0623c326 System.Threading.ThreadPoolWorkQueue.Dispatch() 0aa9e354 0623bd9c System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 0aa9e714 791421db [DebuggerU2MCatchHandlerFrame: 0aa9e714] (29.2a): CLR exception - code e0434352 (first chance) ... OS Thread Id: 0x2a (0) Child SP IP Call Site 0033e60c 7b83ac17 [HelperMethodFrame: 0033e60c] 0033e65c 0ebdb445 EvolveClient.Util.ExceptionHelper.<ExtractFirstException>b__0(System.Exception) 0033e660 0ebdb383 System.AggregateException.Handle(System.Func`2<System.Exception,Boolean>) 0033e678 0ebdb192 EvolveClient.Util.ExceptionHelper.ExtractFirstException(System.AggregateException) 0033e6a4 0ebdae2f EvolveClient.Apps.AppsMgr+<>c__DisplayClass2f.<InstallApp>b__2e(System.Threading.Tasks.Task`1<System.Object>) 0033e6d8 0e62284d EvoCore.Util.AsyncHelper+<>c__DisplayClass2.<RunAsync>b__0(System.Threading.Tasks.Task`1<System.Object>) 0033e6dc 0e622820 System.Threading.Tasks.Task`1+<>c__DisplayClass17[[System.__Canon, mscorlib]].<ContinueWith>b__16(System.Object) 0033e6e0 0e63dfb4 System.Threading.Tasks.Task.InnerInvoke() 0033e6ec 0e63df05 System.Threading.Tasks.Task.Execute() ... 0033f270 03a22c40 EvolveClient.App.Main() ... --- snip ---
Going back in time everything seemed ok, the RPC server/service is started on demand:
--- snip --- 002b:Call KERNEL32.CreateFileA(001c7c28 "\\.\pipe\lrpc\Evolve",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e87c316 002b:Ret KERNEL32.CreateFileA() retval=ffffffff ret=7e87c316 002b:Call KERNEL32.WaitNamedPipeA(001c7c28 "\\.\pipe\lrpc\Evolve",ffffffff) ret=7e87c3ed 002b:Ret KERNEL32.WaitNamedPipeA() retval=00000000 ret=7e87c3ed ... 002b:Call KERNEL32.RaiseException(000006ba,00000000,00000000,00000000) ret=7e885d1a 002b:trace:seh:raise_exception code=6ba flags=0 addr=0x7b83ac17 ip=7b83ac17 tid=002b 002b:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=0033dca0 edx=7b83ab88 esi=0033dcf0 edi=0033dcb0 002b:trace:seh:raise_exception ebp=0033dc88 esp=0033dc24 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000246 002b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=6ba flags=0 ... 002b:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05ba4b38 L"StartEvolveService: Attempting to start service: EvoSvc.",00000038,00000000,00000000,00000000,00000000) ret=1001f859 ... 002b:Call advapi32.OpenServiceW(001b4ab8,010b96cc L"EvoSvc",00000014) ret=063e4b38 002b:Ret advapi32.OpenServiceW() retval=001b3220 ret=063e4b38 ... 002b:Call advapi32.StartServiceA(001b3220,00000000,00000000) ret=063e50d6 002b:Ret advapi32.StartServiceA() retval=00000001 ret=063e50d6 ... 002b:Call advapi32.QueryServiceStatusEx(001b3220,00000000,001c8280,00000024,0033e45c) ret=063e4da8 002b:Ret advapi32.QueryServiceStatusEx() retval=00000001 ret=063e4da8 ... 002b:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05ba4140 L"StartEvolveService: Service EvoSvc started.",0000002b,00000000,00000000,00000000,00000000) ret=1001f859 ... 002b:Call KERNEL32.CreateFileA(001c81c0 "\\.\pipe\lrpc\Evolve",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e87c316 002b:Ret KERNEL32.CreateFileA() retval=0000040c ret=7e87c316 002b:Call KERNEL32.SetNamedPipeHandleState(0000040c,0033dadc,00000000,00000000) ret=7e87c34c 002b:Ret KERNEL32.SetNamedPipeHandleState() retval=00000000 ret=7e87c34c ... 002b:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,05ba4b50 L"Successfully verified connection to service.",0000002c,00000000,00000000,00000000,00000000) ret=1001f859 ... 002b:Call KERNEL32.CreateThread(00000000,00000000,7e87879c,0b27e310,00000000,00000000) ret=7e878a75 002b:Ret KERNEL32.CreateThread() retval=0000040c ret=7e878a75 002b:Call KERNEL32.CloseHandle(0000040c) ret=7e878a9f 002b:Ret KERNEL32.CloseHandle() retval=00000001 ret=7e878a9f --- snip ---
At one point the RPC server/service is gone (handle has been recycled).
The service log 'EvoSvc.log' gives an indication:
--- snip --- 2014-Apr-05 22:35:16.891855 - EvoSvc.exe, version 1.8.3. 2014-Apr-05 22:35:16.895119 - Evolve Service was successfully enabled in the Windows Firewall. 2014-Apr-05 22:35:16.895356 - Evolve Client was successfully enabled in the Windows Firewall. 2014-Apr-05 22:35:16.895507 - Loading Evolve configuration... 2014-Apr-05 22:35:16.896747 - Successfully loaded the Evolve configuration file. 2014-Apr-05 22:35:16.896855 - Running against production backend. 2014-Apr-05 22:35:16.897441 - Starting RPC server... 2014-Apr-05 22:35:16.898106 - Successfully started RPC server. 2014-Apr-05 22:35:17.438990 - Started client crash watchdog. 2014-Apr-05 22:35:17.447499 - Making sure video codecs are properly registered with Windows Media Player... 2014-Apr-05 22:35:17.447701 - No need to register .mkv with Windows Media Player. 2014-Apr-05 22:35:17.454154 - New UI client connected. Sending state... 2014-Apr-05 22:35:17.454289 - Successfully sent state to new UI client. 2014-Apr-05 22:35:17.454656 - UI notification callback failed: 0x000006A6. 2014-Apr-05 22:35:17.454917 - UI disconnected. Leaving any lobbies currently in progress... 2014-Apr-05 22:35:17.455198 - Stopped client crash watchdog. 2014-Apr-05 22:35:17.455331 - Waiting 5 seconds for the client to reconnect before shutting down... 2014-Apr-05 22:35:22.456395 - Shut down timer expired. Shutting down service... 2014-Apr-05 22:35:22.457218 - StopService: Telling service to stop... 2014-Apr-05 22:35:22.457370 - Received SERVICE_CONTROL_STOP. Initiating shutdown... 2014-Apr-05 22:35:22.458790 - Shutting down... 2014-Apr-05 22:35:22.458888 - Shutting down RPC server... 2014-Apr-05 22:35:22.460563 - Successfully updated the LAN Bridger configuration file. 2014-Apr-05 22:35:22.461665 - Thread Pool: Created worker threads successfully. 2014-Apr-05 22:35:22.461766 - Thread Pool: Shutting down worker threads... 2014-Apr-05 22:35:22.462340 - Thread Pool: Shut down worker threads successfully. 2014-Apr-05 22:35:22.463509 - Successfully updated the LAN Bridger configuration file. 2014-Apr-05 22:35:22.463976 - RPC server shut down. 2014-Apr-05 22:35:22.464339 - Thread Pool: Shutting down worker threads... 2014-Apr-05 22:35:22.464440 - Thread Pool: Shut down worker threads successfully. --- snip ---
$ sha1sum EvolveSetup.exe 0c9f92f1ed5f97bced68c1185525dfe78900f795 EvolveSetup.exe
$ du -sh EvolveSetup.exe 3.2M EvolveSetup.exe
$ wine --version wine-1.7.16-1-gb772260
Regards