Describe the bug
In validate.ps1 -Task windows-shell, the Native UI Automation live gate (Tools/windows/uia-live-gate.ps1) fails. A UIA TreeWalker.GetFirstChild call times out with 0x80131505 (UIA TimeoutException) after about 65 s. This happens right after the gate clicks the Worktrees overview lane (call site around uia-live-gate.ps1 lines 3270–3290; walker around line 1471). The shell process stays alive and keeps responding to Win32 messages; its last log line is "Returned to project graph". All other windows-shell steps passed in the same run: unit suites, smoke/stress, two-shell handoff, tray contracts and tray live tests.
It reproduced twice: once in the full validation run, and once in a standalone run of uia-live-gate.ps1.
To reproduce
- Clone to a short path (for example
C:\gc; see the MAX_PATH issue), at commit 59ebed1.
- Bootstrap, then run
pwsh -NoProfile -File Tools\windows\validate.ps1 -Task windows-shell -SwiftExecutable $env:GRAPHCODE_SWIFT633.
- The UIA live gate fails at the Worktrees lane check with the timeout above.
Expected behavior
The gate completes. If the shell's UIA provider is blocked, for example by the UI thread waiting during the worktrees view transition, it should respond within the UIA timeout.
Environment
- Commit 59ebed1, Windows 11 Enterprise 26200 x64, interactive desktop session
- Swift 6.3.3, Zig 0.15.2
Additional context
- Root cause unknown: either a product hang in the accessibility provider or the UI thread during the Worktrees transition, or something specific to this desktop environment. Start by capturing a dump of
graphcode-windows.exe during the 65 s window and checking whether the UI thread is blocked inside the UIA provider (WM_GETOBJECT handling) or in worktree loading.
- The evidence sandboxes (
C:\gc\.build\tmp\gu-*) are local to the reporting machine only.
- Per AGENTS.md, the related parity-ledger rows stay
Partial until this passes live.
Describe the bug
In
validate.ps1 -Task windows-shell, the Native UI Automation live gate (Tools/windows/uia-live-gate.ps1) fails. A UIATreeWalker.GetFirstChildcall times out with 0x80131505 (UIA TimeoutException) after about 65 s. This happens right after the gate clicks the Worktrees overview lane (call site arounduia-live-gate.ps1lines 3270–3290; walker around line 1471). The shell process stays alive and keeps responding to Win32 messages; its last log line is "Returned to project graph". All other windows-shell steps passed in the same run: unit suites, smoke/stress, two-shell handoff, tray contracts and tray live tests.It reproduced twice: once in the full validation run, and once in a standalone run of
uia-live-gate.ps1.To reproduce
C:\gc; see the MAX_PATH issue), at commit 59ebed1.pwsh -NoProfile -File Tools\windows\validate.ps1 -Task windows-shell -SwiftExecutable $env:GRAPHCODE_SWIFT633.Expected behavior
The gate completes. If the shell's UIA provider is blocked, for example by the UI thread waiting during the worktrees view transition, it should respond within the UIA timeout.
Environment
Additional context
graphcode-windows.exeduring the 65 s window and checking whether the UI thread is blocked inside the UIA provider (WM_GETOBJECThandling) or in worktree loading.C:\gc\.build\tmp\gu-*) are local to the reporting machine only.Partialuntil this passes live.