RDM Linux crashes (SIGABRT/SIGSEGV) when connecting to RDP over an SSH tunnel

Backlog

RDM Linux crashes (SIGABRT/SIGSEGV) when connecting to RDP over an SSH tunnel

avatar

Environment:

  • Product: Remote Desktop Manager (Linux), latest version
  • OS: Ubuntu 24.04 LTS
  • Display server: X11
  • Installation: .deb
  • Connection scenario: RDP session reached through an SSH tunnel (target accessed via 127.0.0.1:<local_port>)


Summary: RDM consistently crashes when establishing an RDP connection through an SSH tunnel. The application terminates with either SIGABRT (GTK text buffer assertion) or SIGSEGV, depending on conditions. The crash appears to originate in the bundled FreeRDP layer, with a secondary crash in the GTK text widget used to render the connection log/console.

Crash signatures observed:

GTK text iterator assertion (SIGABRT):

Gtk:ERROR:../../../gtk/gtktextiter.c:1940:forward_char: assertion failed: (real->segment->type == &gtk_text_char_type)


GTK text btree assertion (SIGABRT):

Gtk:ERROR:../../../gtk/gtktextbtree.c:2204:_gtk_text_btree_get_line_at_char: assertion failed: (line != NULL)


Segmentation fault during FreeRDP init when run with G_DEBUG=fatal-warnings (SIGSEGV).

Relevant FreeRDP build warnings emitted before the crash:

This build is using [experimental] build options:
* 'WITH_MBEDTLS=ON'
[experimental] build options might crash the application

This build is using [runtime-check] build options:
* 'WITH_VERBOSE_WINPR_ASSERT=ON'


The bundled FreeRDP is built with mbedTLS (flagged experimental) rather than OpenSSL, and the build itself warns it "might crash the application."

Last FreeRDP error before the SIGABRT in the most recent run:

[ERROR][com.freerdp.core] - [transport_default_connect_tls]: ERRCONNECT_TLS_CONNECT_FAILED [0x00020008]


Steps to reproduce:

  1. Establish an SSH tunnel forwarding a local port to a remote RDP host.
  2. In RDM, configure an RDP entry pointing at 127.0.0.1:<local_port>.
  3. Initiate the connection.
  4. RDM crashes (SIGABRT or SIGSEGV) instead of either connecting or failing gracefully.


Expected behavior: RDM should either complete the connection or fail with a clean error message, without crashing the entire application.
Actual behavior: The whole application terminates with a core dump.

All Comments (1)

avatar

Hello daemoncze,

Thank you for adding all this information; it helps a lot. I created a ticket on our side, and we will investigate as soon as possible.

Regards,

Gabriel Dubois

Closed