I've had this for a couple versions (and now 2020.2.1.0) now so I should probably open a ticket for it. It might be difficult though as it takes a long time to reproduce and I don't have steps to reproduce it. Basically, RDM will hang and then eventually crash (or I'll have to kill it). I've included logs from my last RDM run below and will update this post when I have more information (or if there's any additional logging I can enable)
$ remotedesktopmanager
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.544: g_signal_connect_data: assertion 'c_handler != NULL' failed
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.620: g_signal_connect_data: assertion 'c_handler != NULL' failed
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.647: g_signal_connect_data: assertion 'c_handler != NULL' failed
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.654: g_signal_connect_data: assertion 'c_handler != NULL' failed
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.662: g_signal_connect_data: assertion 'c_handler != NULL' failed
(RemoteDesktopManager:353324): GLib-GObject-CRITICAL **: 09:28:13.669: g_signal_connect_data: assertion 'c_handler != NULL' failed
[10:05:43:607] [353324:353375] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[10:05:43:607] [353324:353375] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[10:05:43:607] [353324:353375] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[10:05:44:273] [353324:353375] [INFO][com.freerdp.primitives] - primitives autodetect, using optimized
calling freerdp_InitializeSSL
freerdp_InitializeSSL #1
freerdp_InitializeSSL #2
___freerdp_openssl_initialize #1
___freerdp_openssl_initialize #2
OPENSSL_VERSION_NUMBER: 0x1010104F
___freerdp_openssl_initialize #4
___freerdp_openssl_initialize #5
[10:05:44:275] [353324:353375] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:05:44:275] [353324:353375] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:05:45:365] [353324:353375] [INFO][com.freerdp.gdi] - Local framebuffer format PIXEL_FORMAT_BGRX32
[10:05:45:365] [353324:353375] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_RGB16
[10:05:45:365] [353324:353375] [INFO][com.freerdp.channels.rdpsnd.client] - Loaded fake backend for rdpsnd
[10:05:45:365] [353324:353375] [INFO][com.winpr.clipboard] - initialized POSIX local file subsystem
[10:05:45:365] [353324:362571] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service drive [Shared] (static)
[10:05:45:623] [353324:362572] [WARN][com.freerdp.channels.cliprdr.common] - [cliprdr_packet_format_list_new] called with invalid type 00000000
[10:05:45:726] [353324:362571] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: Shared (type=8 id=1)
[10:07:45:209] [353324:353324] [WARN][com.freerdp.channels.cliprdr.common] - [cliprdr_packet_format_list_new] called with invalid type 00000000
[10:08:05:201] [353324:353324] [WARN][com.freerdp.channels.cliprdr.common] - [cliprdr_packet_format_list_new] called with invalid type 00000000
[10:11:28:520] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[10:11:28:520] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[10:11:28:520] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
calling freerdp_InitializeSSL
freerdp_InitializeSSL #1
freerdp_InitializeSSL #2
[10:11:28:521] [353324:353340] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:11:28:521] [353324:353340] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:11:28:583] [353324:353340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[10:11:28:583] [353324:353340] [ERROR][com.freerdp.core.nego] - Protocol Security Negotiation Failure
[10:11:28:583] [353324:353340] [ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED [0x0002000C]
[10:11:28:583] [353324:353340] [ERROR][com.freerdp.core.connection] - Error: protocol security negotiation or connection failure
[10:11:28:601] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[10:11:28:601] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[10:11:28:601] [353324:353340] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
calling freerdp_InitializeSSL
freerdp_InitializeSSL #1
freerdp_InitializeSSL #2
[10:11:28:602] [353324:353340] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:11:28:602] [353324:353340] [INFO][com.freerdp.core] - freerdp_set_last_error resetting error state
[10:11:28:665] [353324:353340] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[10:11:28:665] [353324:353340] [ERROR][com.freerdp.core.nego] - Protocol Security Negotiation Failure
[10:11:28:665] [353324:353340] [ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED [0x0002000C]
[10:11:28:665] [353324:353340] [ERROR][com.freerdp.core.connection] - Error: protocol security negotiation or connection failure
[10:20:34:850] [353324:353324] [WARN][com.freerdp.channels.cliprdr.common] - [cliprdr_packet_format_list_new] called with invalid type 00000000
[10:21:09:205] [353324:353324] [WARN][com.freerdp.channels.cliprdr.common] - [cliprdr_packet_format_list_new] called with invalid type 00000000
RemoteDesktopManager: malloc.c:4036: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.
=================================================================
Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0x5559fd1cffe9 - ./RemoteDesktopManager :
0x5559fd1d0369 - ./RemoteDesktopManager :
0x5559fd17c8f9 - ./RemoteDesktopManager :
0x5559fd1cf59f - ./RemoteDesktopManager :
0x7f81a5abb960 - /usr/lib/libpthread.so.0 :
0x7f81a55de355 - /usr/lib/libc.so.6 : gsignal
0x7f81a55c7853 - /usr/lib/libc.so.6 : abort
0x7f81a5628d18 - /usr/lib/libc.so.6 :
0x7f81a562c666 - /usr/lib/libc.so.6 :
0x7f81a562e1e5 - /usr/lib/libc.so.6 : __libc_calloc
0x5559fd434b1b - ./RemoteDesktopManager : monoeg_g_calloc
0x5559fd326655 - ./RemoteDesktopManager :
0x5559fd3a9543 - ./RemoteDesktopManager :
0x5559fd3ac8be - ./RemoteDesktopManager :
0x5559fd316244 - ./RemoteDesktopManager :
0x5559fd316697 - ./RemoteDesktopManager :
0x5559fd2ffe76 - ./RemoteDesktopManager :
0x40cbc2fe - Unknown
=================================================================
Telemetry Dumper:
=================================================================
/usr/bin/remotedesktopmanager: line 4: 353324 Killed ./RemoteDesktopManager
Did you have an RDP session open?
Jonathan Lafontaine
Yes, I had both RDP and SSH sessions open
Can you still reproduce this issue?
If so, does it only happen with an RDP session opened?
Jonathan Lafontaine
Yes this continues to happen occasionally, I'll continue to track and watch what is opened when it happens.
I've been tracking when this happens and yesterday I spent most of the day in only Linux boxes and didn't have this issue occur. Today, I've been in some RDP sessions and it's happened twice.
I will spend some times testing RDP to try and reproduce this issue on our side.
Jonathan Lafontaine
I still don't have a hard set of steps to reproduce this, but I do believe it seems to happen more often when I'm doing copy&paste text to/from the RDP session.
I'm leaning toward this being 2 issues (or at least 2 symptoms) related to RDP sessions.
1) RDM hangs. I don't have any steps to reproduce this, however I'll be working on something and come back to RDM and it will be frozen and I will need to kill it.
2) RDM crashes. I don't have steps to reproduce this, but it seems to only happen with I'm trying to copy (CTRL+C) something from inside an RDP session. It doesn't happen every time, but it occasionally does (yea that makes no sense). For example, it just crashed when I tried to copy some text from an RDP session. I reopened RDM and connected only to that server and tried copying it again, and it crashed again. I repeated this 3-5 times before it finally worked (I may have selected some slightly different text that last time)
I know in RDM Mac, they also have random crash happening while copying text.
I'm working on the same solution they have, running RDP session in a sandbox to at least keep RDM alive when RDP crashes.
Jonathan Lafontaine
Sounds good. Let me know if there's anything I can do to assist.
This works much better in 2020.2.4.0. The application no longer crashes, although the tab itself will hang and need to be killed. While not perfect (still wondering why the tab is hanging/crashing) at least it now no longer takes down the whole application.
We have hooks in place to detect when the sandbox application crashes and restart the RDP session.
However, in this case, it looks like the sandbox is still running but the RDP session itself isn't sending updates anymore.
To confirm this theory, next time a tab hangs, run the following command in a terminal "ps -A | grep FreeRDP".
There should be one process per opened tab. If there isn't, there's a way the sandbox can crash without RDM noticing and I will have to investigate.
Jonathan Lafontaine
Hello. I have the same problem, but have more info to reproduce i think.
For me RDM hangs only when shared clipboard enabled for RDP sessions. Some times it hangs when you copy text from linux and some time it hangs if you copy text inside RDP connection.
Thank you for the additional information.
I'll to more tests using the clipboard copying different text length and content.
I might not be able to prevent the session from hanging but if I could find a way to detect it,
I could drop it and reconnect a new one automatically.
Jonathan Lafontaine
Hello. Today I met problem again. I copy multi-line text (1159 symbols) and app hangs, and if you copy text with less symbols that works well.
But additionally I found workaround that help remove hanging. You need to kill `FreeRDPSandboxed` for that.
Not sure what version of xfreerdp RDM uses, but a similar issue was fixed upstream back in April 2020 it seems https://github.com/FreeRDP/FreeRDP/issues/4344
I found a reddit post (although that was remmina there's discussion about xfreerdp in there as well) that discussed issues with RDP hanging/crashing when settings CLIPBOARD vs PRIMARYCLIPBOARD, but that would be all stuff I don't have access to in RDM.
While obviously not critical as I can still work, this is an annoying problem as I copy and paste quite frequently. If there's anything I can do to assist, such as gathering logs or trying test builds I'd be happy to.
RDM Linux doesn't use xfreerdp, we integrate the FreeRDP library directly.
I'll check with the people maintaining our integration of FreeRDP if we could merge the latest changes
Hopefully that will help.
Jonathan Lafontaine