mRemoteNG / mRemoteNG/mRemoteNG

Crashes / Tab Issues When Idling and Resized

Open
#2,166 5 comments 0 reactions 1 assignee View on GitHub

@BlueBlock is already working on this.

Since Mar 23, 2023.

1.77.3 Bug Improvement required
Dominant language
C#
Stars
11.1k
Forks
1.6k
Avg merge
16h 58m
Merged PRs (30d)
55

Description

I am not sure how to completely reproduce this, but have experienced a crash when I use regular RDP to an instance (ie - juimp server) and run mRemoteNG in that RDP session. When the RDP resizes or if I disconnect, I notice that in some special instances mRemoteNG tabs will become messed up and disassociate with the RDP session. They cannot be closed or removed unless you exit the app. I don't know how toi reproduce this 100%, but noted that it happens when mRemoteNG remains connected in an RDP session and is resized, or some time passes

I have two stack traces that are possibly related:

Collection was modified; enumeration operation may not execute.

   at System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
   at mRemoteNG.UI.Forms.FrmMain.frmMain_FormClosing(Object sender, FormClosingEventArgs e)
   at System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
   at System.Windows.Forms.Form.WmClose(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at mRemoteNG.UI.Forms.FrmMain.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

and

Object reference not set to an instance of an object

   at WeifenLuo.WinFormsUI.Docking.DockPanel.OnLayout(LayoutEventArgs levent)
   at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
   at System.Windows.Forms.Control.PerformLayout()
   at System.Windows.Forms.Control.ResumeLayout(Boolean performLayout)
   at WeifenLuo.WinFormsUI.Docking.DockPanel.ResumeLayout(Boolean performLayout, Boolean allWindows)
   at WeifenLuo.WinFormsUI.Docking.DockPane.CloseContent(IDockContent content)
   at WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.TryCloseTab(Int32 index)
   at mRemoteNG.UI.Tabs.DockPaneStripNG.TabCloseButtonHit(Int32 index)
   at mRemoteNG.UI.Tabs.DockPaneStripNG.OnMouseClick(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at WeifenLuo.WinFormsUI.Docking.DockPaneStripBase.WndProc(Message& m)
   at mRemoteNG.UI.Tabs.DockPaneStripNG.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 

Expected Behavior

  • Tabs should not become unassociated from their RDP instances or lose control from the UI

Current Behavior

Tabs stop working if the application is idle in an RDP session and that parent RDP window is resized or reconnected. It is not exactly reproducible every time, but happens a lot

Your Environment

  • Version used:
  • Operating System and version (e.g. Windows 10 1709 x64): Windows Server 2019, Windows 10 21H2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.