Start a new topic

Issues with freeRDP

Hi there,


I'am using the Beta of RoyalTS V7. Sometimes when I try to connect on a server with freeRDP the complete application freezes and I have to force terminate it. The only thing you can see is a small bar in the left downer site of the window. For me it looks like a bug.


regards

Daniel


P.s. I configured the connection to use a SOCKS5 proxy.


Thanks for the update! Yes, when I first launched it I had a couple of hiccups, but they went away. I will keep testing and let you know.

Hi Alexander,


thanks for testing. Btw, we released an official beta release yesterday:

https://www.royalapps.com/go/kb-ts-win-downloadbeta


You might want to upgrade to this one.


Also, just out of curiosity: did you have a single hang since the update?


Regards,
Stefan

Can confirm - it works a lot better now. Will keep monitoring and let you know if there are any issues.

One of the FreeRDP maintainers was very kind and helpful and pushed a change which should fix the cross threading issue. I've just created a new Royal TS V7 Beta Build which also includes the new wfreerdp.exe with the fix:

x64 MSI: https://download.royalapps.com/RoyalTS/RoyalTSInstaller_7.00.20219.0_x64.msi

x64 ZIP: https://download.royalapps.com/RoyalTS/RoyalTS_7.00.20219.0_x64.zip

ARM64 MSI: https://download.royalapps.com/RoyalTS/RoyalTSInstaller_7.00.20219.0_ARM64.msi

ARM64 ZIP: https://download.royalapps.com/RoyalTS/RoyalTS_7.00.20219.0_ARM64.zip


Please note that this build hasn't been fully tested yet but I wanted to let you try this build as soon as possible to see if the wfreerdp.exe fix is effective. \


Looking forward to your feedback. Thanks!


1 person likes this

Hi!


A small update from my investigation:

1. it's extremely hard for me to reproduce the issue. At one time, it took almost an hour of constantly reconnecting to get a "hang/freeze". I assume the more CPU cores a system has, the more "unlikely" the hang will happen.

2. From what I can tell, the issue seems to be that the FreeRDP window is created on a non-main thread and then, at a later point in time, the same window is shown on a completely different non-main thread. While this may work in most cases, it can be a potential source for the hang.

3. To prevent that and rule this out as a root cause, the window creation and showing of the window should happen on the same thread, ideally on the main thread. The current wfreerdp.exe does not have any facilities to process cross-threading messages. Maybe there are other ways to accomplish that. To implement something like that, one of the freerdp team may probably need to take a look at it. 


I'll keep you posted. Sorry for not having any better news at this time.


Regards,
Stefan


1 person likes this

Hi!


I suggest you open a support ticket here: https://www.royalapps.com/go/support-ticket-new

Not sure how big the dump file is but maybe we can find a way to transfer the file somehow privately.


Thanks,
Stefan

I ran analyze on the dump file:

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************


KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2234

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 44122

    Key  : Analysis.IO.Other.Mb
    Value: 14

    Key  : Analysis.IO.Read.Mb
    Value: 0

    Key  : Analysis.IO.Write.Mb
    Value: 29

    Key  : Analysis.Init.CPU.mSec
    Value: 468

    Key  : Analysis.Init.Elapsed.mSec
    Value: 45456

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 91

    Key  : Timeline.OS.Boot.DeltaSec
    Value: 1625320

    Key  : Timeline.Process.Start.DeltaSec
    Value: 10

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1


FILE_IN_CAB:  wfreerdp.DMP

NTGLOBALFLAG:  0

PROCESS_BAM_CURRENT_THROTTLED: 0

PROCESS_BAM_PREVIOUS_THROTTLED: 0

APPLICATION_VERIFIER_FLAGS:  0

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0

FAULTING_THREAD:  0000205c

PROCESS_NAME:  wfreerdp.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE_STR:  80000003

STACK_TEXT:  
00000084`c21df698 00007ff8`978a306e     : 0000024c`e8b6dbe0 00000000`00000000 00000000`00000000 0000024c`e8b6e790 : ntdll!NtWaitForSingleObject+0x14
00000084`c21df6a0 00007ff6`54b463be     : 00000000`00000000 00000000`0000000c 00000000`00000000 00000000`0000032c : KERNELBASE!WaitForSingleObjectEx+0x8e
00000084`c21df740 00007ff6`54ed8910     : 00000000`0000000a 00007ff6`54ac0000 00000000`00000000 00000000`0000000a : wfreerdp!RdpClientEntry+0x194e
00000084`c21df810 00007ff8`998d7614     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : wfreerdp!smartcard_pack_read_cache_return+0x126b50
00000084`c21df850 00007ff8`99f226a1     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000084`c21df880 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


STACK_COMMAND:  ~0s; .ecxr ; kb

SYMBOL_NAME:  wfreerdp+194e

MODULE_NAME: wfreerdp

IMAGE_NAME:  wfreerdp.exe

FAILURE_BUCKET_ID:  BREAKPOINT_80000003_wfreerdp.exe!Unknown

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {1fa1ce24-e6ea-bbe3-d753-51fb72f71ce5}

Followup:     MachineOwner
---------

 

Thanks, I have the dump now, where do I send?

The easiest way would be to open the Windows task manager, go to the Details view, select wfreerdp.exe which hangs, right-click and select "Create dump file".


1 person likes this

Stefan, how do I create a mini dump? Thanks

Hi Alexander,


we still haven't figured out what could cause this. Can you send us a mini dump when that happens. Maybe we can figure out what's blocking the UI.


Thanks,

Stefan

Updated to Royal TS 7.00.20116 - no change. It keeps hanging.

Updated to Royal TS 7.00.11221 - issue still persists.

Hi Stefan,

Feel free to reach out directly if you need more info/logs/etc or access to check it out.

Thanks

Alex

Hi Stefan,

It happens randomly, I just launched RoyalTS this morning and it hanged on the first attempt to connect via freerdp plugin.

Login or Signup to post a comment