Bug Report

Bug report forum for Remote Desktop Manager Windows

avatar

patrickknobbout

Jetscocat/SOCKS proxy stops when closing extra tab that is connected over DVLS gateway

Every since upgrading from RDM 2026.2 to 2026.3 we are encountering the issue that RDM stops the socks connection when you open a extra web session tab, and close this tab, the other session is also closed. It's 100% reproducable by using a DVLS gateway connection for a web session, opening info in a new tab, and closing that tab instantly. The other tabs stops responding, and when you refresh it states the socks socket is closed.

3

0

avatar

jimmiesvensson

RDM 2026.3.13.0 - When opening the server from RDM and have it in "Work Area Size" it opens behind the main window

Thanks for a quick solution to my problem! This worked as it should now. There is one minor thing that isn´t like before, but it is not a big thing, but i want to mention it. When opening the server from RDM and have it in "Work Area Size" it opens behind the main window, that wasnt the case before, it´s a minor thing as i said. Thanks a lot

50

5

avatar

jimmiesvensson

avatar

jdthird

Stop taking focus back when a server disconnects

Been busy with remediation from the MS bad update in September. And I'm getting REALLY frustrated that with the current most recent build, every time I log off of a server and alt+tab into my spreadsheet to mark what I'm doing, when the server goes offline and one of the other tabs now is the active one it takes over the entire windows desktop again as focus. Please, during logons or reboots or anything within the RDM program window, can you NOT have it take focus away from another program that HAS focus when this happens? I can see if RDM is the active window, but when it's in not, it should NEVER interrupt what I'm typing in a spreadsheet, word doc, email, text file, ANYTHING, in the middle of typing simply because one of the servers in a tab rebooted or logged off WHILE the program is in the background and not active. I don't recall ever having this issue in the years I've used this program, but I also haven't been as busy in other things when a server reboots so this may not actually be something new, but just something I never noticed. Although I find that hard to imagine after all these years that I never rebooted or logged out of something and pulled another app to the front to work in and then lost that focus. And if there's some weird setting that I've never seen before since I've never noticed this previously, that would solve this, I'd be thrilled too. Thanks! John

55

3

avatar

johan

avatar

elton_6455

Remote Desktop Manager Linux freezes and closes when opening multiple embedded SSH sessions

Environment: Remote Desktop Manager: 2026.3.1.1 OS: Pop!_OS 24.04 LTS Base: Ubuntu 24.04 / Noble Session type: Wayland Issue: When I open multiple embedded SSH terminal sessions, Remote Desktop Manager becomes unresponsive and then closes. The issue is reproducible after opening approximately three SSH sessions. Before the freeze/termination, the application repeatedly logs GTK errors: GLib-GObject-CRITICAL: signal 'response' is invalid for instance ... of type 'GtkWindow' Gtk-CRITICAL: gtk_container_add: assertion 'GTK_IS_CONTAINER (container)' failed Gtk-CRITICAL: gtk_widget_show_all: assertion 'GTK_IS_WIDGET (widget)' failed Gtk-CRITICAL: gtk_plug_get_id: assertion 'GTK_IS_PLUG (plug)' failed Gtk-CRITICAL: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed Steps to reproduce: Start Remote Desktop Manager Open one embedded SSH terminal session Open a second SSH terminal session Open a third SSH terminal session The UI freezes and the application closes Expected behavior: Multiple embedded SSH sessions should remain open without freezing or terminating RDM. Actual behavior: The UI becomes unresponsive and RDM closes. Additional information: The issue occurs under Wayland on Pop!_OS 24.04 LTS. The GTK errors are reproducible and appear immediately before the freeze. I also attempted to check for a crash dump using coredumpctl, but systemd-coredump is not currently installed on this system, so I do not have a core dump available at this time. System information: NAME="Pop!_OS" VERSION="24.04 LTS" ID=pop ID_LIKE="ubuntu debian" VERSION_ID="24.04" VERSION_CODENAME=noble UBUNTU_CODENAME=noble XDG_SESSION_TYPE=wayland

48

2

avatar

elton_6455

avatar

gielenstijn

Issue with credentials promp on connection

I have configured credentials with "promp on connection" on the folder, the RDP has inherited. What I noticed now is on starting the connection it is missing an underscore from the username. [image] So I went to check the settings on the folder, but I get this error: [image] After I click close, the settings open. But here it does not show anymore select a folder. In this post there is a screenshot where it shows how it used to be. https://forum.devolutions.net/topics/51192/application-crash-when-changing-credentials-for-rdp-to-inherited#218804 [image]

45

3

avatar

Alexis Beauparlant

avatar

Danvo1

Bug Report: Tab Order and Focus Issues When Navigation Is Docked as a Tab

Product: Remote Desktop Manager Version: 2026.3.12.0 (64-bit, PreJIT) Runtime: .NET 10.0.3 OS: Windows Server 2022 (Build 20348) Description I prefer using the Navigation panel as a tab in the main workspace instead of keeping it docked on the left side. This allows me to maximize the available screen space for remote sessions. I also don't need the Dashboard, so ideally the Navigation tab should act as my main starting point. Unfortunately, this layout causes three usability issues. Issue 1: New sessions open to the left of the Navigation tab Steps to reproduce: Move the Navigation panel into the main tab area. Position the Navigation tab as the first (leftmost) tab. Open a new remote session from the Navigation tab. Actual behavior: New session tabs are inserted to the left of the Navigation tab, rather than to its right. Expected behavior: The Navigation tab should remain the leftmost tab, with new sessions opening to its right. Ideally, there should be an option to pin the Navigation tab in a fixed position. Issue 2: Focus switches to another tab after editing an entry Steps to reproduce: Move the Navigation panel into the main tab area. Open another tab, such as a remote session or the Dashboard. Return to the Navigation tab. Right-click an entry and select Edit. Modify the entry and click OK to save. Actual behavior: After saving the entry, RDM automatically activates another tab, such as an open remote session or the Dashboard. This is particularly frustrating when editing multiple entries, because I have to manually switch back to the Navigation tab after each edit. Expected behavior: The Navigation tab should remain active after saving an entry. Editing an entry should not cause RDM to switch to another tab unless explicitly requested by the user. Issue 3: Focus switches to another tab after saving application settings Steps to reproduce: Move the Navigation panel into the main tab area. Open another tab, such as a remote session or the Dashboard. Return to the Navigation tab. Open the application settings via File → Settings. Click Save to close the settings. Actual behavior: After saving the application settings, RDM automatically activates another tab, such as an open remote session or the Dashboard. This happens even though the Navigation tab was active before opening the settings. Expected behavior: The Navigation tab should remain active after saving the application settings. Opening and saving application settings should not change the currently active tab. Desired Workflow My preferred layout is: Navigation displayed as a tab in the main workspace. Navigation remains the leftmost tab. New sessions open to the right of the Navigation tab. Editing entries does not change the currently active tab. No Dashboard required. This layout provides significantly more usable screen space while still allowing quick access to the Navigation tree. Additional Information Both issues occur when the Navigation panel is docked as a tab rather than in its default position on the left. I have attached a screenshot showing my preferred layout: [image] Request: Please investigate these behaviors and consider allowing the Navigation tab to remain fixed in position and retain focus after editing entries.

40

3

avatar

Eduard Sepúlveda López

avatar

techservices

Task tray context menu over-lapping sub-menu's

When right-clicking the task tray icon, the menu's overlap which hides the sub-menu item I am trying to select.

42

1

avatar

David Hervieux

avatar

davidwillis

Resizing Columns in Navigation Pane Not Working

Hello, When we have more than one column in the navigation pane, it seems we are not able to resize them right now (at least, not reliably). If I click on the "divider", the line appears for a brief second as if it will let me resize, but then it disappears, and dragging while holding my click does nothing. If I try to click and then drag super quickly after clicking and then let go quick (so the whole resize attempt takes 1s or less), it will sometimes work - maybe 1 out of 4 or 5 tries. But any resize attempt that takes any length of time seems to just fail silently, and even the very "quick" attempts usually don't work. This is in v2026.2.19.0 (just upgraded today). If any additional info is needed, please let me know. Best regards,

84

5

avatar

Alexis Geller Peiro

avatar

RDMTinkerer2

Resolved

RDM window goees to background when a RDP error occurs

Hi, This is 2026.3.12, but the issue started I think a couple releases ago, but now has become very annoying to me. When an RDP session is canceled due to: lack of credentials lack of permissions for my account to connect to the target server maybe other reasons I didn't encounter, the RDP window goes to back. It shouldn't be doing that. Look at the attached screencast. It is RDM in front of a Notepad, to show the issue. I'm trying to connect to a server, then cancel the credentials prompt, and on that moment RDM disappears. A second later it blinks briefly, but I then need to do ALT+TAB or find the window using other means. With the second screencast you can see I added a credential, but I have no permissions to log in to this server. When displaying that notification - the main RDM screen also disappears into background, for no reason... Please fix it. Thanks in advance.

Recommended Answer

5 days ago

Hello, After discussion with the dev that fixed the issue, it seems there was an error on our part when reporting this as fixed as it didn't make it in the 2026.3.13.0 but will rather be in the upcoming 2026.3.14.0. We apologize for the inconvenience. If the issue persists even in that version, please do let us know and we will reopen the ticket. Best Regards,

113

8

avatar

RDMTinkerer2

avatar

Søren

RDM 2026.3.13.0 - Window garbling of undocked RDP sessions when doing a Microsoft Teams screen share

Hi Erica. 2026.3.13.0 seems to fix the open-undocked sizing and location problem. Thanks. However - I did notice window garbling of undocked RDP sessions when doing a Microsoft Teams screen share of the entire screen. Also very annoying: The empty undocked tab in main window takes focus when shifting focus to undocked screen. This makes it impossible to see other docked screens while using an undocked screen. BR, Søren

24

1

avatar

Alexis Beauparlant

avatar

martin25

High RAM ussage

Hi everyone, I have a desktop PC running Windows 11 25H2, fully up to date, with RDM version 2026.3.12.0 installed. If I leave RDM running for a week, it gradually consumes all available memory, even though it is mostly idle and I only connect to remote sessions occasionally. The only solution is to restart the entire system, after which everything works fine again. This issue has been occurring across several consecutive RDM versions. Interestingly, when I connect to the desktop via RDP, the RAM usage starts to decrease gradually. When I started writing this post, RDM was consuming 17 GB of RAM. After approximately 10–15 minutes of being connected via RDP, its memory usage had dropped to just 2 GB and was still decreasing. On my other laptop, RDM uses only around 390 MB of RAM. The desktop has the following specifications: CPU: Intel(R) Core(TM) i7-7700 RAM: 32 GB Storage: 2 TB SSD Has anyone experienced This is how RAM was used after the first login: Remote Desktop Manager 2026.3.12.0 64-bit (PreJIT) Runtime: .NET 10.0.12 Platform: Microsoft Windows 10.0.26200 Allocated memory: 17390 MB ...after 10-15min [image] now after 30min it is still using 1.2GB RAM

38

1

avatar

Alexis Beauparlant

avatar

megosu

Regression since the new interface

Hi, I tried the drag and drop from the drop down list, it is perfect ! What would also be good is to be able to sort them by Name for instance. I tried to drag a tab beyond the screen, and it scrolls naturally, also great ! thank you I tried to use the mouse wheel to scroll the tabs, it still jump 1 "page" at a time, instead of smooth scrolling. Is it something you can allow ? Small notes: the new interface is great but has a lot of bugs. I get weird error message sometimes, like this: [image] InvalidOperationException - The control Devolutions.AvaloniaUI.Desktop.TabGroups.TabGroupsView (Content = Devolutions.AvaloniaUI.Controls.DevoTreeDataGrid`1[Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.TabGroupNodeViewModel] (Name = TabGroupsTreeDataGrid)) already has a visual parent ContentPresenter while trying to add it as a child of ContentPresenter (Name = PART_ContentPresenter, Host = ToolWindow[Title=Tab groups, State=AutoHide]). at Avalonia.Visual.Avalonia.Collections.IAvaloniaListItemValidator<Avalonia.Visual>.Validate(Visual item) at Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(Object content) at Avalonia.Controls.Presenters.ContentPresenter.ContentChanged(AvaloniaPropertyChangedEventArgs e) at Avalonia.Animation.Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs change) at Avalonia.PropertyStore.EffectiveValue`1.NotifyValueChanged(ValueStore owner, StyledProperty`1 property, T oldValue) at Avalonia.PropertyStore.EffectiveValue`1.SetAndRaise(ValueStore owner, IValueEntry value, BindingPriority priority) at Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(UntypedBindingExpressionBase instance, Boolean hasValueChanged, Boolean hasErrorChanged, Object value, BindingError error) at Avalonia.Data.TemplateBindingExpression.PublishValue() at Avalonia.PropertyStore.EffectiveValue`1.NotifyValueChanged(ValueStore owner, StyledProperty`1 property, T oldValue) at Avalonia.PropertyStore.ValueStore.SetValue[T](StyledProperty`1 property, T value, BindingPriority priority) at Devolutions.AvaloniaUI.Docking.DockingHostView.RefreshPaneContentOnce(ToolWindow toolWindow) at Devolutions.AvaloniaUI.Docking.DockingHostView.ConvertActiproAutoHidePopup(ToolWindow toolWindow) at Avalonia.Threading.DispatcherOperation.InvokeCore() ------------------------ extended stack ------------------------ at Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.ErrorMessageViewModel.LoadParameters(ErrorMessageParameters parameters) at Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.ErrorMessageViewModel..ctor(ErrorMessageParameters parameters) at Devolutions.RemoteDesktopManager.Managers.UIManager.<>c__DisplayClass218_0.<ShowErrorMessage>b__0() at Avalonia.Threading.Dispatcher.Invoke[TResult](Func`1 callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout) at Avalonia.Threading.Dispatcher.Invoke[TResult](Func`1 callback) at Devolutions.RemoteDesktopManager.Managers.UIManager.ShowErrorMessage(ConnectionEngine engine, Exception exception, String message, String details, String title, String xml) at Devolutions.RemoteDesktopManager.Managers.UIManager.ShowErrorMessage(ConnectionEngine engine, Exception exception, String message, String title) at Devolutions.RemoteDesktopManager.Managers.LogManager.HandleException(Exception exception) at Devolutions.RemoteDesktopManager.Managers.LogManager.OnThreadException(Object sender, DispatcherUnhandledExceptionEventArgs e) at Avalonia.Threading.Dispatcher.CatchException(Exception e) at Avalonia.Threading.Dispatcher.TryCatchWhen(Exception e) at Avalonia.Threading.DispatcherOperation.InvokeCore() at Avalonia.Threading.CulturePreservingExecutionContext.CallbackWrapper(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at Avalonia.Threading.DispatcherOperation.Execute() at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback) at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) at Windows.Win32.PInvoke.DispatchMessage(MSG* lpMsg) at System.Windows.Forms.Application.LightThreadContext.FPushMessageLoop(msoloop uReason) at System.Windows.Forms.Application.LightThreadContext.RunMessageLoop(msoloop reason, Boolean fullModal) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, ApplicationContext context) at System.Windows.Forms.Application.Run() at Devolutions.RemoteDesktopManager.Program.RunApplication(String[] args) at Devolutions.RemoteDesktopManager.Program.Main(String[] args) It happens mainly when I click on the "Tab groups", "Tab list" or "Navigation" on the left: [image] Also, with 2026.3.9.0, I can't access my Navigation list anymore, it looks like it goes behind the current remote session window. However, if I switch to the dashboard, then the navigation list shows on top as it should. See screenshots: [image] It should show this, currently it only does it when Dashboard is selected. [image] There is a regression since the new interface (since 2026.3.5): I used to be able to go to "Navigation list" and type directly some text to filter the list. Now I need to click on the 'Filter entries" field before typing the text.

109

2

avatar

Jean-Francois Duchesne

avatar

jellehillen

Backlog

Variables not resolved in shortcuts in RDM with Devolutions Cloud datasource

Hi, With RDM version 2022.3.31.0 and Password Hub Business as a datasource, I noticed that variables used in entries are not resolved in shortcuts to those entries. I've added a screenshot to clarify this: the top two are in fact composed of a set of variables (in this case the host name, and a custom variable). The shortcuts to those entries (bottom two) lack the variables values and are empty instead. [image] Best regards, Jelle Hillen

578

4

avatar

David Godin

avatar

UniformEric

Web browser entry's automatic favicon not showing in tabs

Hi, I have also the problem that all custom icons are not shown, if the connection is open. If I switch the setting back to default the icon is shown. I havn't a VPN connection. Version 2026.3.8.0 regards Eric

98

10

avatar

Carl Marien

avatar

RDMTinkerer2

RDM 2026.3.9: High priority: Auto-type doesn't work

Hello, After the upgrade to 2026.3 (2026.3.9) in particular, password auto-type stopped working. It's a critical function for me, because some contexts I use it in don't allow/don't handle password copy-paste through clipboard, and the passwords are generated, thus very difficult and long. It looks like RDM has no focus on the target session. It should type the characters not on the focused window, but on the target session. Repro: Open an RDP session to a target Windows machine. Open a notepad, or other app that would receive the keystrokes. Use the auto-type -> paste password on a credential entry Observe password is not typed If you click on the RDP session, so it gets focus, the last letters of the password may get typed, but not the whole password. I am attaching screen recording showing the issue. Please fix it. Thanks in advance!

170

8

avatar

RDMTinkerer2

avatar

januszkoniuszko91

Implemented

RDM 2026.3.12 no action for the website session type

Hello, In RDM 2026.3.12, compared to version RDM 2026.2.19, actions such as “Undock” or “Close,” etc., are not visible for website sessions—neither on the ribbon nor when right-clicking on the tab. If I start a session as “External” and right-click on the title bar of the detached window, there is a “Dock” option that pins the connection as a tab. However, it is not possible to undock the session. [image] [image] Best Regards, Janusz Koniuszko

41

2

avatar

Erica Poirier

avatar

Molensky

Implemented

2026.3.x unable to review access requests

hi, I'm currently using 2026.3.10 on Windows 11. I had/have an issue I can't consistently reproduce (yet). It started after our migration from 2026.2 to 2026.3. After the upgrade, I initially installed 2026.3.8 and in my dashboard I saw several access requests. But when I click to review, the list is empty. Refreshing, (un)docking or restarting RDM doesn't work. I saw 2026.3.10 was available. Upgrading the client did fix the issue... ...until this afternoon. In my dashboard I see again several access requests, but the list for review is empty again. What did work this time was switching to another data source (same SQL source but admin-UPN) does give me back the list. My daily-UPN should also have the right permissions, so switched back, still got the list and I'm able to approve/deny. Even after restart of RDM, the list is available. So, as I'm not sure why it doesn't display sometimes and when/why it does show, I can't give you exact steps to reproduce at the moment, but it happened twice.

49

2

avatar

Erica Poirier

avatar

Maran Michele - FactorySolver srl

Resolved

RDM 2026.3.10 RDP ignored the screen resolution from template

Hello the latest build 2026.3.10 introduced a bug when opening a RDP session through a template with different screen resolution. So a template with full screen will be opened in 1024x768 (i do not know the exact resolution) PS lates MAC version isn't affected. Thanks

60

3

avatar

Maran Michele - FactorySolver srl

avatar

Jimmy P

Implemented

RDM v2026.3.5.0: RDP Session Display Issue

After updating RDM to v2026.3.5.0 today, my team and I are having numerous issues with display sizing of RDP sessions with RDM. The only fix is to use RDP outside of RDM. I updated DVLS to latest v2026.3.5.0 and the same thing persists. See screenshot below. [image]

240

28

avatar

Erica Poirier

avatar

Jimmy P

Implemented

2026.3.12.0 - Graphical Repaint Issue

When switching to other apps, I'm still getting this odd screen graphical black out repaint issues with latest 2026.3.12.0 build. It's fine after clicking on another tab in Devolutions and then back. [image]

52

2

avatar

Erica Poirier

avatar

arik1

Switching between Tabs is sometimes laggy

Hello, Thank you for being so patient! If possible, could you update your RDM to the latest version (2026.3.9.0) and see if the problem persists? This version should resolve your issue. Latest Version: Download RDM If the problem persists after the update, please let us know so we can inform our development team. Best regards, Maxim Robert Hello, Version 2026.3.9.0 solves the undocking Tabs problem for me. The other issues are still present: Switching between Tabs is sometimes laggy. Sometimes the tab fails to refresh. Sometimes it just a white screen. Some time there is only a partial refresh as shown in the attached. In some rare cases the all application stops responding and comes back after maybe 10 seconds. [image] [image]

63

3

avatar

Erica Poirier

avatar

marekbelan

When i logoff from server and tab is set to stay open it "switch" to another aplication

As i write in topic when i have set tab stay open on logoff , RDM switch to another one app in computer.

44

1

avatar

Alexis Geller Peiro

avatar

mad

Backlog

Credential lists are not filtered with "spaces as AND"

[image] [image] When we are searching for credentials in a vault, they are not filtered with "treat spaces as AND" so we can't find any entries unless we write them exactly as they are written. There is an option to enable "treat spaces as AND" for password entries, but it's not inherited to credentials. So please fix that, so the search for credentials works like everywhere else. Thanks!

158

5

avatar

Jafran Majeau

avatar

davisoncaleb

Remote Desktop Sessions Disconnecting Improperly

In one of the past few RDM releases, whenever a Microsoft RDP session is closed, there is a high chance that the next time I try to RDP into it, I'll get the following error shown below. [image] If I click Yes, it logs out of the current session I want to connect to and starts a new RDP session. If I click No, it kills the attempted RDP connection. On the Windows side, it still thinks that there is an active RDP session even though it was closed in RDM. If I go to Task Manager and view the user, it doesn't show the user as disconnected. When it's in this state, I either have to wait for an unknown amount of time before Microsfte registers that it's disconencted and will allow me again to RDP in, or I have to do the following hack to force it out of its fake connected state. # Connect remotely to the locked PC Enter-PSSession -ComputerName <computerHostname> # Get a list of the RDP connections query session # Force disconnect the "active" connection that needs to be disconnected tsdiscon <sessionID> If I don't execute the command above, I'm unable to RDP into the current RDP session as the OS still thinks it's connected and has somehow gotten into this state. If I wait for a while, I can log in again, but I'm not sure when the PC I want to RDP into decides it's OK again to log in. This is happening on multiple VMs and desktops that I'm trying to RDP into. Current RDM: 2026.2.4.4

122

13

avatar

Richard Markiewicz

avatar

devolutions92

Resolved Implemented

Bug report: embedded RDP sessions leak the ActiveX control (AxMsRdpClient11) after the tab is closed

Summary In Remote Desktop Manager 2026.2.18.0 (Windows), every embedded RDP session that is closed leaves its AxMsRdpClient11 ActiveX control (wrapped in Devolutions.RemoteDesktopManager.Frames.Embedded.RDPClient11) alive in the process. The control is kept reachable only by a COM RefCount GC handle pointing at its AxMsRdpClient11NotSafeForScriptingEventMulticaster, i.e. the event sink registered with the native mstscax COM object is never released. Each leaked control keeps one OS thread, its native mstscax buffers and its kernel handles alive, so the process grows without bound over a working day until RDM is restarted. After ~4.5 days of uptime and ~97 embedded sessions opened, the process reached 4.5 GB private bytes, 928 threads and 23,200 handles with only 20 sessions actually open. The machine became sluggish and the laptop fan ran continuously. Environment Item.......................................... Value Remote Desktop Manager..... 2026.2.18.0 (Windows, 64-bit) .NET runtime in process......... coreclr 10.0.1226.42308 OS........................................... Windows 11 Pro, build 10.0.26200 mstscax.dll.............................. 10.0.26100.8875 Hardware................................ HP EliteBook 840 G10, Intel i7-1370P, 64 GB RAM Session type........................... RDP (Microsoft Remote Desktop), embedded (tabbed) mode, credentials inherited from parent folder Steps to reproduce Start RDM and note the process thread count and private bytes (Task Manager, Details tab, or Get-Process RemoteDesktopManager). Open an embedded RDP session to any Windows host, wait until the desktop is displayed. Close the tab (or disconnect the session). Repeat steps 2 and 3 twenty or thirty times. Observe that thread count, handle count and private bytes never return to the baseline. Each open/close cycle leaves behind roughly one extra thread, several hundred handles and tens of MB of native memory. Optional confirmation with dotnet-dump (Microsoft tool, dotnet tool install -g dotnet-dump): dotnet-dump collect -p <RDM pid> --type Full dotnet-dump analyze <dump> > dumpheap -stat -type AxMSTSCLib.AxMsRdpClient11NotSafeForScripting > dumpheap -stat -type Devolutions.RemoteDesktopManager.Frames.Embedded.RDPClient11 > gcroot <address of any RDPClient11 whose _parent field is null> Evidence from a full process dump Live state at the time of the dump: 18 RDP sessions actually connected (18 established TCP connections to port 3389 owned by the process). Managed heap object counts: Type............................................................................................................................ Instances..... Expected for 18 live sessions AxMSTSCLib.AxMsRdpClient11NotSafeForScriptingEventMulticaster.................... 117............... 18 Devolutions.RemoteDesktopManager.Frames.Embedded.RdpDvcListener............ 117............... 18 Devolutions.RemoteDesktopManager.Frames.Embedded.RDPClient11................. 171............... 18 Devolutions.RemoteDesktopManager.Frames.Embedded.FreEmbeddedRDP11... 158............... 18 ...AvaloniaUI.ViewModels.EmbeddedConnectingPanelViewModel........................... 720.............. 18 GC handle statistics: 2,002 RefCount handles, 99,290 weak short handles. dumpobj on the oldest RDPClient11 instance shows it is detached from the UI (_parent = null, _reflectParent = null, _newParent = null, _ocxState = null) yet still has a live _events list and _axState. gcroot on two different detached RDPClient11 instances gives the same single root: HandleTable: -> 0162cb005d60 AxMSTSCLib.AxMsRdpClient11NotSafeForScriptingEventMulticaster -> 0162b7926d88 Devolutions.RemoteDesktopManager.Frames.Embedded.RDPClient11 Found 1 unique roots. Nothing in managed code references the control any more. The only thing keeping it alive is the RefCount GC handle created by COM interop for the event multicaster, which means the native IMsTscAx object still holds the connection point sink. The sink is presumably never unadvised (or the AxHost is not disposed) when the tab closes. Correlated native symptoms Thread start addresses in the live process (mapped with NtQueryInformationThread(ThreadQuerySetWin32StartAddress)), with 19 sessions open: Start module................................... Threads.... Notes mstscax.dll (main worker entry)...... 649........... 34.2 per live session. Scales exactly with live sessions, so these are released correctly. TextInputMethodFormatter.dll.......... 117........... Matches the 117 event multicasters exactly. One per control ever created, never released. coreclr.dll............................................ 34 Intel graphics driver / ANGLE............ 43 Process growth observed while the user opened sessions 17 to 20: each new session added about 27 to 30 threads, 550 to 600 handles and 100 to 130 MB working set. Closing sessions did not give any of that back over the previous days. Managed heap was only ~0.55 GB of the 4.5 GB private bytes, so most of the leaked memory is native (mstscax bitmap caches, GPU surfaces) owned by the orphaned controls. Impact Process grows by roughly 30 to 40 MB, 1 thread and several hundred handles per closed RDP session. Kernel non-paged pool on the machine reached 2 GB with the process at 23k handles. Heavy users (dozens of RDP sessions per day) end up with a multi-GB RDM process and a sluggish machine within a few days, fixed only by restarting RDM. Workarounds found Restarting RDM releases everything. Running RDP sessions in an external process should contain the leak to the child process. Notes The full dump is not attached because it contains session credentials. The issue is easy to reproduce with the steps above; a heap comparison before and after 20 open/close cycles is enough to see it.

140

6

avatar

Michael Beaudin

1 - 25 of 2834 items