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.
we have heard that on a handful systems the app is freezing sometimes but we weren’t able to reproduce the issue on our systems yet. Maybe it’s related to the target system and protocol version used. One thing we know from the feedback is that killing the wfreerdp.exe using task manager will “unfreeze” Royal TS. If we can somehow reproduce this issue, we can look into it.
thanks for the details. We did some tests and for a short period of time we were able to see a similar issue but as soon as we investigated further, we weren’t able to repro it anymore. Can you always reproduce the issue? Or maybe you have repro steps which reliably reproduces the issue? Is it with every connection/server or just specific ones?
Not sure what’s blocking the UI/app in this scenario. We will continue to look into it and hopefully we can figure out what’s going on and fix or improve the issue.
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”.
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.
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.
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.
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:
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. \