Skip to content

[ci-scan] Test failure: baseservices/threading/regressions/2164/foreground-shutdown fails Expected 100 Actual 101 on R2R #131418

Description

@github-actions

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1526910
Pipeline: runtime-coreclr r2r-extra (definition 114), branch main
Failing leg: R2R windows arm64 checked (--method-layout:random R2R composite)
Failing test: baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd

Error Message

Under the R2R windows-arm64 outer-loop leg the test exits with 101 instead of the expected 100:

> C:\...\regressions\2164\foreground-shutdown\foreground-shutdown.cmd
Xunit.Sdk.EqualException: Assert.Equal() Failure: Values differ
Expected: 100
Actual:   101
   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer)
   at __GeneratedMainWrapper.Main()
END EXECUTION - FAILED
Failed test: baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd
{
  "ErrorMessage": "Failed test: baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Occurrences

Stable across the scanned window: source build 1526910 and follow-up build 1527456 both reproduce this signature on the R2R windows arm64 checked leg.

Related: #131403 (area-System.Threading tracker for the same test, currently observed only on the optional jitstressregs leg and not labeled Known Build Error, so it does not dedupe required-gate PR CI). This KBE covers the required-gate r2r-extra occurrence.


Filed by the ci-failure-scan workflow (detection only). Mitigation — small fix PRs and owner hand-off — is handled by the companion ci-failure-fix workflow from the open [ci-scan] KBEs.

Note

This issue was generated with the assistance of GitHub Copilot (AI). The failure data was collected from public dnceng CI; please verify before acting.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by CI Outer-Loop Failure Scanner · 688.4 AIC · ⌖ 16.8 AIC · ⊞ 18.6K · ◷

Report

Build Repository Test Pull Request
1531854 dotnet/runtime baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd
1530122 dotnet/runtime baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd
1528585 dotnet/runtime baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
1 3 3

Activity

  1. dotnet-policy-service commented on Jul 29, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @JulieLeeMSFT, @VSadov
    See info in area-owners.md if you want to be subscribed.

  2. github-actions commented on Jul 30, 2026

    @github-actions
    ContributorAuthor

    Workflow artifact: ci-fix
    Artifact kind: handoff
    Linked KBE: #131418

    Note

    AI/Copilot-generated triage note.

    This Known Build Error has no producible automated code change (reason: JIT/codegen stress — the failure reproduces only on the R2R --method-layout:random composite leg, an outer-loop codegen configuration I must not auto-patch), so I could not open even a best-effort PR. Looping in owners so it can be fixed forward rather than muted.

    Root cause (best analysis)

    baseservices/threading/regressions/2164/foreground-shutdown/foreground-shutdown.cmd exits 101 instead of the expected 100 on the R2R windows arm64 checked leg (runtime-coreclr r2r-extra, def 114, --method-layout:random). Test 2164 is a foreground-thread-during-shutdown regression: the process is expected to complete shutdown with a specific ordering/exit result. An off-by-one exit code (101 = one assertion/return short of the expected 100 pass sentinel) under a randomized R2R method layout points to a shutdown-timing/ordering sensitivity that only surfaces with that codegen configuration, not a product bug in the test's own source. #131403 tracks the same test on the optional jitstressregs leg. Because the trigger is a codegen-stress layout, no safe mechanical diff is producible.

    Evidence

    Suggested reviewers / area contacts

    • Area owners (area-System.Threading): @JulieLeeMSFT, @vsadov

    A fix would likely involve determining whether foreground-thread shutdown ordering is racy under randomized R2R method layout, or whether the test's shutdown synchronization needs hardening for that leg.

    Warning

    Firewall blocked 1 domain

    The following domain was blocked by the firewall during workflow execution:

    • awmgmcpg

    To allow these domains, add them to the network.allowed list in your workflow frontmatter:

    network:
      allowed:
        - defaults
        - "awmgmcpg"

    See Network Configuration for more information.

    Generated by CI Outer-Loop Failure Fixer · 287.5 AIC · ⌖ 18.4 AIC · ⊞ 17.4K · ◷

  3. JulieLeeMSFT commented on Jul 30, 2026

    @JulieLeeMSFT
    Member

    Duplicate #131403.

  4. locked and limited conversation to collaborators on Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions