-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Microsoft Remote Desktop sometimes crashes on connect #1869
Comments
I've confirmed this on this platform:-
Another workaround is to set I'll run a |
I'm experiencing the issue on the 0.9.12 checkout, so there's something more complex going on here. I've tried various config options. When the crash happens I'm getting the following in the Windows event log:- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>100</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2021-04-27T08:21:06.1566956Z" />
<EventRecordID>1321</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>Application</Channel>
<Computer>DESKTOP-OLT894V</Computer>
<Security />
</System>
- <EventData>
<Data>RdClient.Windows.exe</Data>
<Data>1.0.0.0</Data>
<Data>60411c6c</Data>
<Data>RdClientWinRT.dll</Data>
<Data>1.0.2102.24</Data>
<Data>6036e9bb</Data>
<Data>c0000005</Data>
<Data>00000000003f7d35</Data>
<Data>1764</Data>
<Data>01d73b3e42daae35</Data>
<Data>C:\Program Files\WindowsApps\Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe\RdClient.Windows.exe</Data>
<Data>C:\Program Files\WindowsApps\Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe\RdClientWinRT.dll</Data>
<Data>df2bcbf5-f5cf-4508-87da-302d43433ac6</Data>
<Data>Microsoft.RemoteDesktop_10.2.1810.0_x64__8wekyb3d8bbwe</Data>
<Data>App</Data>
</EventData>
</Event> @metalefty - how are you configuring v0.9.12 when this is working? |
@matt335672 I can not see the whole configuration right now but I'm certain |
In my testing I can confirm that this issue was not related to the resizing code and has been around for at least some time, and I had learned that setting sec=rdp helped fix this long before I started working on resizing (Try it with FreeRDP and you'll see the same results most of the time). In my testing this error was not 100% deterministic, which suggests a threading race condition of some sort. While it may not help, @jsorg71 had added a fix to his egfx branch that repaired at least some of the login scenarios, but it might only be specific to the gfx PR: jsorg71@0a581a7 I can do more testing later this week. |
Another scenario: Try populating your auto-login credentials with known invalid ones, like username: foo, password: bar, and the login dialog will come up. |
Yet another scenario that I've found funny:
|
Here's my xrdp.ini of 0.9.12. It is identical to stock Ubuntu 20.04 installation. xrdp.ini
|
I've just had another look into this, and my experiences are as follows:-
In short, this very much seems to be a client problem. I can't see a way to work around it from our end, short of implementing NLA as we're sending the same data when the crash occurs as when it doesn't occur. |
Curious, how does FreeRDP handle it? |
Also: What about MSTSC? |
I've just run up with remmina version 1.4.11 on our latest wavefront, and the initial packet trace goes as follows:-
In other words, the same as the MS client, but there's no crash. Login screen is displayed as expected. With MSTSC on Windows 10 things are identical except:-
Again, there's no crash. Login screen is displayed as expected. The code on our side is Line 399 in 5bb9d98
So I've seen nothing further to suggest any way we can fix this on our side in the short term. |
We should submit a bug to Microsoft then. |
I'd love to. The major question is 'how'? I've posted a message to MS Q&A here:- Since we have no other support avenues for MS, I'm not confident of a response. It is however, the best I could think of. I'm open to further suggestions. |
Following a suggestion from Nexarian, I've attempted to look at the problem using I've not managed to get anywhere sadly. The remote desktop store app is a WinRt app which may have something to do with it.Here's the output I could get:- HeaderMicrosoft (R) Windows Debugger Version 10.0.19041.685 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. analyze -v0:038> !analyze -v ******************************************************************************* * * * Exception Analysis * * * ******************************************************************************* kp0:038> kp # Child-SP RetAddr Call Site 00 00000015`f59fbed0 00007ffc`10761123 RdClientWinRT!DllGetActivationFactory+0x392d05 01 00000015`f59fd730 00007ffc`1075d839 RdClientWinRT!DllGetActivationFactory+0x38c0f3 02 00000015`f59fd980 00007ffc`1062e28b RdClientWinRT!DllGetActivationFactory+0x388809 03 00000015`f59fdb60 00007ffc`105ef2a7 RdClientWinRT!DllGetActivationFactory+0x25925b 04 00000015`f59fdb90 00007ffc`1072d05a RdClientWinRT!DllGetActivationFactory+0x21a277 05 00000015`f59fdda0 00007ffc`1072e69d RdClientWinRT!DllGetActivationFactory+0x35802a 06 00000015`f59fde00 00007ffc`1072e1a9 RdClientWinRT!DllGetActivationFactory+0x35966d 07 00000015`f59fde80 00007ffc`10731b59 RdClientWinRT!DllGetActivationFactory+0x359179 08 00000015`f59fe300 00007ffc`1073230a RdClientWinRT!DllGetActivationFactory+0x35cb29 09 00000015`f59fe750 00007ffc`107307e7 RdClientWinRT!DllGetActivationFactory+0x35d2da 0a 00000015`f59fed80 00007ffc`10634a78 RdClientWinRT!DllGetActivationFactory+0x35b7b7 0b 00000015`f59fedc0 00007ffc`106347d9 RdClientWinRT!DllGetActivationFactory+0x25fa48 0c 00000015`f59fefa0 00007ffc`1072fdf4 RdClientWinRT!DllGetActivationFactory+0x25f7a9 0d 00000015`f59ff170 00007ffc`1080cd34 RdClientWinRT!DllGetActivationFactory+0x35adc4 0e 00000015`f59ff890 00007ffc`469e7034 RdClientWinRT!DllGetActivationFactory+0x437d04 0f 00000015`f59ff8c0 00007ffc`47862651 kernel32!BaseThreadInitThunk+0x14 10 00000015`f59ff8f0 00000000`00000000 ntdll!RtlUserThreadStart+0x21 The lack of a symbolic trace seems related to this error:-
|
Look up the documentation on how to connect to Microsoft's public symbol servers. It's a bit of an arcane command/UI option if I remember correctly, but it is documented and the servers are reliable. But it shouldn't be a checksum issue, I think you just need the symbols. They are gigantic files which is why you have to set this up yourself, Microsoft wanted to make sure you really wanted to download them before they were enabled. Here's some documentation that may help:
Let me know if you need help with figuring this part out. |
windbg is all set up to connect to the symbol servers. Symbol search path is cache*;SRV*https://msdl.microsoft.com/download/symbols" Sadly, I think what the message means is that the dll checksum is not found on the symbol servers. I think this is something to do with it being a WinRt app. I've even checked this isn't a file permissions issue which was hard enough to do with the c:\Program Files\WindowsApps directory. I've used the
|
Ugh, that's annoying, My guess is that they aren't uploading the symbols for this particular app and that WinRT is treated differently. I was trying to figure out how to get the logs for this as well. I know how to see logs from it in Mac OS X, just not with the Windows version. The closest I was able to get was to find the logs for msrdc.exe, which is a slightly different pivot on this application, which doesn't even have a very clear name. |
Client: Microsoft Remote Desktop (Store version) 10.2.1810.0
2021-04-27.13.07.16.mov
Server
xrdp 5bb9d98 has this issue. However, 0.9.12 doesn't have this issue. It might be a regression of on-the-fly resizing but I'm still not sure. I haven't confirmed with other versions of xrdp.
Workaround
Don't use "ask login credentials every time".
Connect with saved credentials. It will bypass xrdp's login dialog so the client doesn't crash.
The text was updated successfully, but these errors were encountered: