Skip to content

Flaky test: RunDotnetProcessAsync_Cancellation_KillsProcessTree intermittently fails in CI #729

Description

DotNetServiceTests.RunDotnetProcessAsync_Cancellation_KillsProcessTree (added in #686) fails intermittently in the Build and Package workflow on pull requests that cannot affect it.

Source: src/winapp-CLI/WinApp.Cli.Tests/DotNetServiceTests.cs#L1695

Observed

PR Scope of the change Result
#726 sample test harness only (no product code) failed
#728 two YAML config files (dependabot.yml, codeql-config.yml) failed
main @ 51666c0d passed

Neither PR touches anything that could influence process-tree teardown, and the same commit passed on main, so this looks intermittent rather than broken.

Failing runs:

Signal

The failure takes ~15s before reporting, which suggests a timeout elapsing while waiting on child-process teardown rather than an assertion mismatch. A loaded CI runner plausibly exceeds whatever fixed wait the test uses.

Likely fix: wait deterministically on child-process exit (poll for the PIDs to disappear, or await the process handles) instead of a fixed delay/timeout.

Possibly related

CrashDumpServiceWorkflowTests.AnalyzeDumpAsync_RealManagedDump_RunsClrMdManagedEnumeration (added in #644) failed in the same #728 run. Different subsystem and much older, so it may be an unrelated second flake — worth confirming before folding it in here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions