Skip to content

RDP tab no longer hangs RemoteHub when closed through a jump host; lab fixes from the runs of 25–26 October - #75

Merged
GrischaE1 merged 5 commits into
mainfrom
lab-green-2
Oct 26, 2026
Merged

GrischaE1 merged 5 commits into
mainfrom
lab-green-2

Conversation

@GrischaE1

@GrischaE1 GrischaE1 commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Fixes from full run 20261025-192331 (33 failures, down from 85 after #74) and the rerun of its failed files (20261026-032740).

Product

  • Closing an RDP tab could hang RemoteHub. RdpSession released the RDP ActiveX control from inside the control's own OnDisconnected event. When a tab to a device behind a jump host was closed, the UI thread hung for good: the window stopped answering and every later UI-JUMP step failed (runs 20261025-052539 and 20261026-032740). The close now finishes on the dispatcher once the event has returned. UI-JUMP-02 checks that the tab is gone and RemoteHub still answers.

Lab

  • Person server (RhPerson): each answer is written under its own temporary name; a request file that is already gone no longer ends the server (C-DB-11, C-NOTE-10, UI-AD-07). A lookup that finds nothing now names programs that aren't responding, so a hung RemoteHub shows as such.
  • UI-DESKTOP: the picture search skips images that aren't laid out yet (UI Automation answers Rect.Empty, whose area counted as infinite) (UI-AD-01/05, R-AGENT-02).
  • J-14 waits until the jump host has logged the held connection, instead of 8 s.
  • SEC-DEC-06 accepts one picture of 30 coming out only with the next, at the H.264 stream's format change (Server 2025).
  • Start-LabClient keeps RemoteHub's standard error. UI-AG-04 is a real crash of RemoteHub (exception 0xc00000fd, a stack overflow) after the PowerShell tab's wrong password, seen since 16 October; the runtime prints the overflowing frames only there, so the next run brings the stack.

Tests

  • DecoderProcessTests: closing a session while the decoder is probing may take 2.5 s, not 1 s, on a busy runner (1.54 s in this PR's first CI run); waiting for the probes would take about 5 s more.

Lab scripts parse in Windows PowerShell 5.1 and stay ASCII-only; RhPerson's C# compiles (-Do windows run locally); the solution builds without warnings.

…; UI-DESKTOP skips images not laid out

- RhPerson wrote every answer through one shared '<out>.part'; when the late answer or the crash handler met the
  action's own write, one took the file away before the other's move (run 20261025-192331, C-DB-11 and C-NOTE-10:
  'Cannot move item ... .part does not exist'). Each writer now uses its own name.
- UI Automation answers Rect.Empty (infinite X, minus infinite width) for an image that isn't laid out; its 'area'
  was infinite and beat the tab's picture (UI-AD-01, UI-AD-05, R-AGENT-02: 'Cannot convert value "∞"').
@github-actions
github-actions Bot marked this pull request as draft October 26, 2026 02:27
@github-actions

Copy link
Copy Markdown

Pull requests start as drafts here. Mark this one Ready for review when it's done and all checks have passed.

… not 1 s, on a busy runner

Waiting for the probes would take about 5 s more (two connects of up to 3 s), so 2.5 s still shows the close doesn't
wait for them; CI measured 1.54 s on PR #75.
…icture to come with the next

- J-14 slept 8 s for a background job to open its jump connection; the job's start and module import took longer
  (run 20261026-032740: the PowerShell probe got in, 101). It now waits until the jump host logged the connection,
  which is held for 60 s.
- The decoder runs H.264 in low-latency mode, but at the stream's format change one picture may come out only with
  the next (Server 2025: 29 of 30). SEC-DEC-06 is about the sandbox; it now accepts one fewer.
…ab sees a hung window

- RdpSession released the RDP ActiveX from inside its own OnDisconnected event when a tab was closed. Closing a tab
  through a jump host then hung RemoteHub's UI thread for good (lab UI-JUMP, runs 20261025-052539 and
  20261026-032740: the window stopped answering, every later step failed). The close now finishes on the dispatcher
  once the event has returned.
- UI-JUMP-02 checks that the tab is gone and RemoteHub still answers after that close.
- RhPerson names programs that don't respond when a lookup finds nothing (a hung window has no name for UI
  Automation and dropped out of the list), and the hosts' UI step errors show it.
- RhPerson's server no longer ends when the request file it took is already gone (UI-AD-07).
…mes reach the evidence

UI-AG-04 failed because RemoteHub.exe ended with 0xc00000fd (stack overflow) after the PowerShell tab's wrong
password - in runs of 16.10.2026, 20261025-192331 and 20261026-032740 - and the runtime prints the repeating frames
only to standard error. Start-LabClient now starts RemoteHub with standard error to a file of its own, and
UI-DESKTOP's EnsureClient adds the newest one to its clientGone evidence.
@GrischaE1 GrischaE1 changed the title Lab fixes from the full run of 25–26 October: person server answers, UI-DESKTOP picture search RDP tab no longer hangs RemoteHub when closed through a jump host; lab fixes from the runs of 25–26 October Oct 26, 2026
@GrischaE1
GrischaE1 marked this pull request as ready for review October 26, 2026 07:52
@GrischaE1
GrischaE1 merged commit 9908a74 into main Oct 26, 2026
13 checks passed
@GrischaE1
GrischaE1 deleted the lab-green-2 branch October 26, 2026 07:53
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant