Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

Description

@gimlichael

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

  • --no-build
  • --no-restore
  • -p:TestTfmsInParallel=false
  • xUnit test collection parallelization disabled
  • single filtered tests

This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

Related prior issue with a similar observable dotnet test hang symptom:

dotnet/sdk#43432

This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

Expected Behavior

ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

Steps To Reproduce

Repository / branch for maintainers to clone and test:

https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

Clone command:

git clone https://github.com/codebeltnet/cuemon.git
cd cuemon
git checkout v11.0.0/double-digits

Environment used for local reproduction:

  • Ubuntu 24.04
  • linux-arm64 / aarch64
  • .NET SDK: 11.0.100-preview.4.26230.115
  • Runtime: 11.0.0-preview.4.26230.115
  • xUnit VSTest Adapter: 3.1.5
  • Docker Desktop running linux/arm64 image via QEMU

Comparison environment:

  • Same container/repo setup
  • .NET 10.0.8
  • linux-arm64

Repro 1: authentication test hangs on net11.0

This single test hangs on .NET 11 Preview 4linux-arm64:

dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
--framework net11.0 \
--configuration Debug \
--no-build \
--no-restore \
--filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
--logger "console;verbosity=detailed" \
--logger "trx;LogFileName=net11.0.arm64.single.trx" \
--results-directory /tmp/cuemon-results \
-p:TestTfmsInParallel=false \
--blame \
--blame-hang \
--blame-hang-timeout 45s

Observed:

  • xUnit discovery completes.
  • Test execution starts.
  • The single filtered test hangs.
  • --blame-hang-timeout aborts the run.

The same test passes on .NET 10.0.8linux-arm64:

dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
--framework net10.0 \
--configuration Debug \
--no-build \
--no-restore \
--filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
--logger "console;verbosity=detailed" \
--logger "trx;LogFileName=net10.0.arm64.single.trx" \
--results-directory /tmp/cuemon-results \
-p:TestTfmsInParallel=false \
--blame \
--blame-hang \
--blame-hang-timeout 45s

Observed on .NET 10.0.8:

  • Test run successful
  • Total tests: 1
  • Passed: 1

Repro 2: ASP.NET Core middleware test hangs on net11.0

With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
--framework net11.0 \
--configuration Debug \
--no-build \
--no-restore \
--filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
--logger "console;verbosity=detailed" \
--logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
--results-directory /tmp/cuemon-results \
-p:TestTfmsInParallel=false \
--blame \
--blame-hang \
--blame-hang-timeout 90s

The broader project run also identifies the same test as long-running/hung:

Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions

The same filtered test passes on .NET 10.0.8linux-arm64:

dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
--framework net10.0 \
--configuration Debug \
--no-build \
--no-restore \
--filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
--logger "console;verbosity=detailed" \
--logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
--results-directory /tmp/cuemon-results \
-p:TestTfmsInParallel=false \
--blame \
--blame-hang \
--blame-hang-timeout 90s

Observed on .NET 10.0.8:

  • Test run successful
  • Total tests: 1
  • Passed: 1
  • The test itself completes in about 1 second.

Affected CI pattern

The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

  • Cuemon.AspNetCore.Authentication.Tests
  • Cuemon.AspNetCore.FunctionalTests
  • Cuemon.AspNetCore.Mvc.FunctionalTests
  • Cuemon.AspNetCore.Mvc.Tests
  • Cuemon.AspNetCore.Razor.TagHelpers.Tests
  • Cuemon.AspNetCore.Tests
  • Cuemon.Extensions.AspNetCore.Authentication.Tests
  • Cuemon.Extensions.AspNetCore.Mvc.*
  • Cuemon.Extensions.AspNetCore.Tests

Debug and Release ARM64 Linux jobs are affected.

Exceptions (if any)

No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

Example output from the net11.0 middleware repro:

[xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
[xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
The active Test Run was aborted because the host process exited unexpectedly.
The test running when the crash occurred:
Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions

Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

ptrace(ATTACH, ...) FAILED Function not implemented (38)

I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

.NET Version

11.0.100-preview.4.26230.115

Anything else?

dotnet --info from the ARM64 repro container:

.NET SDK:
Version: 11.0.100-preview.4.26230.115
Commit: 4370ea1634
Workload version: 11.0.100-manifests.bd820daa
MSBuild version: 18.7.0-preview-26230-115+4370ea163
Runtime Environment:
OS Name: ubuntu
OS Version: 24.04
OS Platform: Linux
RID: linux-arm64
Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
Host:
Version: 11.0.0-preview.4.26230.115
Architecture: arm64
Commit: 4370ea1634
.NET SDKs installed:
10.0.100 [/usr/share/dotnet/sdk]
11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Notes:

  • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
  • The issue reproduces with --no-build --no-restore.
  • The issue reproduces with -p:TestTfmsInParallel=false.
  • The issue reproduces with xUnit test collection parallelization disabled.
  • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
  • The same representative tests pass on net10.0linux-arm64.
  • Windows runners pass.
  • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
  • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

cuemon-results.zip

.NET Version

11.0.100-preview.4.26230.115

Anything else?

CI platform matrix

The CI pipeline exercises a broad OS/architecture/configuration matrix:

  • Linux x64: ubuntu-24.04
  • Linux ARM64: ubuntu-24.04-arm
  • Windows x64: windows-2025
  • Windows ARM64: windows-11-arm
  • Configurations: Debug and Release
  • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

The relevant workflow is:

https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

    Type

    Projects

    • Status
      No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content

    Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

    Description

    @gimlichael

    Is there an existing issue for this?

    • I have searched the existing issues

    Describe the bug

    Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

    This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

    The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

    • --no-build
    • --no-restore
    • -p:TestTfmsInParallel=false
    • xUnit test collection parallelization disabled
    • single filtered tests

    This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

    Related prior issue with a similar observable dotnet test hang symptom:

    dotnet/sdk#43432

    This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

    Expected Behavior

    ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

    Steps To Reproduce

    Repository / branch for maintainers to clone and test:

    https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

    Clone command:

    git clone https://github.com/codebeltnet/cuemon.git
    cd cuemon
    git checkout v11.0.0/double-digits

    Environment used for local reproduction:

    • Ubuntu 24.04
    • linux-arm64 / aarch64
    • .NET SDK: 11.0.100-preview.4.26230.115
    • Runtime: 11.0.0-preview.4.26230.115
    • xUnit VSTest Adapter: 3.1.5
    • Docker Desktop running linux/arm64 image via QEMU

    Comparison environment:

    • Same container/repo setup
    • .NET 10.0.8
    • linux-arm64

    Repro 1: authentication test hangs on net11.0

    This single test hangs on .NET 11 Preview 4linux-arm64:

    dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
    --framework net11.0 \
    --configuration Debug \
    --no-build \
    --no-restore \
    --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
    --logger "console;verbosity=detailed" \
    --logger "trx;LogFileName=net11.0.arm64.single.trx" \
    --results-directory /tmp/cuemon-results \
    -p:TestTfmsInParallel=false \
    --blame \
    --blame-hang \
    --blame-hang-timeout 45s

    Observed:

    • xUnit discovery completes.
    • Test execution starts.
    • The single filtered test hangs.
    • --blame-hang-timeout aborts the run.

    The same test passes on .NET 10.0.8linux-arm64:

    dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
    --framework net10.0 \
    --configuration Debug \
    --no-build \
    --no-restore \
    --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
    --logger "console;verbosity=detailed" \
    --logger "trx;LogFileName=net10.0.arm64.single.trx" \
    --results-directory /tmp/cuemon-results \
    -p:TestTfmsInParallel=false \
    --blame \
    --blame-hang \
    --blame-hang-timeout 45s

    Observed on .NET 10.0.8:

    • Test run successful
    • Total tests: 1
    • Passed: 1

    Repro 2: ASP.NET Core middleware test hangs on net11.0

    With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

    dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
    --framework net11.0 \
    --configuration Debug \
    --no-build \
    --no-restore \
    --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
    --logger "console;verbosity=detailed" \
    --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
    --results-directory /tmp/cuemon-results \
    -p:TestTfmsInParallel=false \
    --blame \
    --blame-hang \
    --blame-hang-timeout 90s

    The broader project run also identifies the same test as long-running/hung:

    Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
    

    The same filtered test passes on .NET 10.0.8linux-arm64:

    dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
    --framework net10.0 \
    --configuration Debug \
    --no-build \
    --no-restore \
    --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
    --logger "console;verbosity=detailed" \
    --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
    --results-directory /tmp/cuemon-results \
    -p:TestTfmsInParallel=false \
    --blame \
    --blame-hang \
    --blame-hang-timeout 90s

    Observed on .NET 10.0.8:

    • Test run successful
    • Total tests: 1
    • Passed: 1
    • The test itself completes in about 1 second.

    Affected CI pattern

    The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

    • Cuemon.AspNetCore.Authentication.Tests
    • Cuemon.AspNetCore.FunctionalTests
    • Cuemon.AspNetCore.Mvc.FunctionalTests
    • Cuemon.AspNetCore.Mvc.Tests
    • Cuemon.AspNetCore.Razor.TagHelpers.Tests
    • Cuemon.AspNetCore.Tests
    • Cuemon.Extensions.AspNetCore.Authentication.Tests
    • Cuemon.Extensions.AspNetCore.Mvc.*
    • Cuemon.Extensions.AspNetCore.Tests

    Debug and Release ARM64 Linux jobs are affected.

    Exceptions (if any)

    No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

    Example output from the net11.0 middleware repro:

    [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
    [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
    Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
    The active Test Run was aborted because the host process exited unexpectedly.
    The test running when the crash occurred:
    Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
    

    Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

    ptrace(ATTACH, ...) FAILED Function not implemented (38)
    

    I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

    .NET Version

    11.0.100-preview.4.26230.115
    

    Anything else?

    dotnet --info from the ARM64 repro container:

    .NET SDK:
    Version: 11.0.100-preview.4.26230.115
    Commit: 4370ea1634
    Workload version: 11.0.100-manifests.bd820daa
    MSBuild version: 18.7.0-preview-26230-115+4370ea163
    Runtime Environment:
    OS Name: ubuntu
    OS Version: 24.04
    OS Platform: Linux
    RID: linux-arm64
    Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
    Host:
    Version: 11.0.0-preview.4.26230.115
    Architecture: arm64
    Commit: 4370ea1634
    .NET SDKs installed:
    10.0.100 [/usr/share/dotnet/sdk]
    11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
    .NET runtimes installed:
    Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
    Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
    

    Notes:

    • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
    • The issue reproduces with --no-build --no-restore.
    • The issue reproduces with -p:TestTfmsInParallel=false.
    • The issue reproduces with xUnit test collection parallelization disabled.
    • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
    • The same representative tests pass on net10.0linux-arm64.
    • Windows runners pass.
    • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
    • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

    cuemon-results.zip

    .NET Version

    11.0.100-preview.4.26230.115

    Anything else?

    CI platform matrix

    The CI pipeline exercises a broad OS/architecture/configuration matrix:

    • Linux x64: ubuntu-24.04
    • Linux ARM64: ubuntu-24.04-arm
    • Windows x64: windows-2025
    • Windows ARM64: windows-11-arm
    • Configurations: Debug and Release
    • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

    The relevant workflow is:

    https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

    The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

      Type

      Projects

      • Status
        No status

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content

      Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

      Description

      @gimlichael

      Is there an existing issue for this?

      • I have searched the existing issues

      Describe the bug

      Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

      This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

      The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

      • --no-build
      • --no-restore
      • -p:TestTfmsInParallel=false
      • xUnit test collection parallelization disabled
      • single filtered tests

      This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

      Related prior issue with a similar observable dotnet test hang symptom:

      dotnet/sdk#43432

      This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

      Expected Behavior

      ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

      Steps To Reproduce

      Repository / branch for maintainers to clone and test:

      https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

      Clone command:

      git clone https://github.com/codebeltnet/cuemon.git
      cd cuemon
      git checkout v11.0.0/double-digits

      Environment used for local reproduction:

      • Ubuntu 24.04
      • linux-arm64 / aarch64
      • .NET SDK: 11.0.100-preview.4.26230.115
      • Runtime: 11.0.0-preview.4.26230.115
      • xUnit VSTest Adapter: 3.1.5
      • Docker Desktop running linux/arm64 image via QEMU

      Comparison environment:

      • Same container/repo setup
      • .NET 10.0.8
      • linux-arm64

      Repro 1: authentication test hangs on net11.0

      This single test hangs on .NET 11 Preview 4linux-arm64:

      dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
      --framework net11.0 \
      --configuration Debug \
      --no-build \
      --no-restore \
      --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
      --logger "console;verbosity=detailed" \
      --logger "trx;LogFileName=net11.0.arm64.single.trx" \
      --results-directory /tmp/cuemon-results \
      -p:TestTfmsInParallel=false \
      --blame \
      --blame-hang \
      --blame-hang-timeout 45s

      Observed:

      • xUnit discovery completes.
      • Test execution starts.
      • The single filtered test hangs.
      • --blame-hang-timeout aborts the run.

      The same test passes on .NET 10.0.8linux-arm64:

      dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
      --framework net10.0 \
      --configuration Debug \
      --no-build \
      --no-restore \
      --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
      --logger "console;verbosity=detailed" \
      --logger "trx;LogFileName=net10.0.arm64.single.trx" \
      --results-directory /tmp/cuemon-results \
      -p:TestTfmsInParallel=false \
      --blame \
      --blame-hang \
      --blame-hang-timeout 45s

      Observed on .NET 10.0.8:

      • Test run successful
      • Total tests: 1
      • Passed: 1

      Repro 2: ASP.NET Core middleware test hangs on net11.0

      With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

      dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
      --framework net11.0 \
      --configuration Debug \
      --no-build \
      --no-restore \
      --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
      --logger "console;verbosity=detailed" \
      --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
      --results-directory /tmp/cuemon-results \
      -p:TestTfmsInParallel=false \
      --blame \
      --blame-hang \
      --blame-hang-timeout 90s

      The broader project run also identifies the same test as long-running/hung:

      Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
      

      The same filtered test passes on .NET 10.0.8linux-arm64:

      dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
      --framework net10.0 \
      --configuration Debug \
      --no-build \
      --no-restore \
      --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
      --logger "console;verbosity=detailed" \
      --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
      --results-directory /tmp/cuemon-results \
      -p:TestTfmsInParallel=false \
      --blame \
      --blame-hang \
      --blame-hang-timeout 90s

      Observed on .NET 10.0.8:

      • Test run successful
      • Total tests: 1
      • Passed: 1
      • The test itself completes in about 1 second.

      Affected CI pattern

      The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

      • Cuemon.AspNetCore.Authentication.Tests
      • Cuemon.AspNetCore.FunctionalTests
      • Cuemon.AspNetCore.Mvc.FunctionalTests
      • Cuemon.AspNetCore.Mvc.Tests
      • Cuemon.AspNetCore.Razor.TagHelpers.Tests
      • Cuemon.AspNetCore.Tests
      • Cuemon.Extensions.AspNetCore.Authentication.Tests
      • Cuemon.Extensions.AspNetCore.Mvc.*
      • Cuemon.Extensions.AspNetCore.Tests

      Debug and Release ARM64 Linux jobs are affected.

      Exceptions (if any)

      No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

      Example output from the net11.0 middleware repro:

      [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
      [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
      Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
      The active Test Run was aborted because the host process exited unexpectedly.
      The test running when the crash occurred:
      Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
      

      Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

      ptrace(ATTACH, ...) FAILED Function not implemented (38)
      

      I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

      .NET Version

      11.0.100-preview.4.26230.115
      

      Anything else?

      dotnet --info from the ARM64 repro container:

      .NET SDK:
      Version: 11.0.100-preview.4.26230.115
      Commit: 4370ea1634
      Workload version: 11.0.100-manifests.bd820daa
      MSBuild version: 18.7.0-preview-26230-115+4370ea163
      Runtime Environment:
      OS Name: ubuntu
      OS Version: 24.04
      OS Platform: Linux
      RID: linux-arm64
      Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
      Host:
      Version: 11.0.0-preview.4.26230.115
      Architecture: arm64
      Commit: 4370ea1634
      .NET SDKs installed:
      10.0.100 [/usr/share/dotnet/sdk]
      11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
      .NET runtimes installed:
      Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
      Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
      Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
      Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
      

      Notes:

      • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
      • The issue reproduces with --no-build --no-restore.
      • The issue reproduces with -p:TestTfmsInParallel=false.
      • The issue reproduces with xUnit test collection parallelization disabled.
      • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
      • The same representative tests pass on net10.0linux-arm64.
      • Windows runners pass.
      • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
      • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

      cuemon-results.zip

      .NET Version

      11.0.100-preview.4.26230.115

      Anything else?

      CI platform matrix

      The CI pipeline exercises a broad OS/architecture/configuration matrix:

      • Linux x64: ubuntu-24.04
      • Linux ARM64: ubuntu-24.04-arm
      • Windows x64: windows-2025
      • Windows ARM64: windows-11-arm
      • Configurations: Debug and Release
      • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

      The relevant workflow is:

      https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

      The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

        Type

        Projects

        • Status
          No status

        Milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content

        Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

        Description

        @gimlichael

        Is there an existing issue for this?

        • I have searched the existing issues

        Describe the bug

        Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

        This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

        The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

        • --no-build
        • --no-restore
        • -p:TestTfmsInParallel=false
        • xUnit test collection parallelization disabled
        • single filtered tests

        This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

        Related prior issue with a similar observable dotnet test hang symptom:

        dotnet/sdk#43432

        This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

        Expected Behavior

        ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

        Steps To Reproduce

        Repository / branch for maintainers to clone and test:

        https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

        Clone command:

        git clone https://github.com/codebeltnet/cuemon.git
        cd cuemon
        git checkout v11.0.0/double-digits

        Environment used for local reproduction:

        • Ubuntu 24.04
        • linux-arm64 / aarch64
        • .NET SDK: 11.0.100-preview.4.26230.115
        • Runtime: 11.0.0-preview.4.26230.115
        • xUnit VSTest Adapter: 3.1.5
        • Docker Desktop running linux/arm64 image via QEMU

        Comparison environment:

        • Same container/repo setup
        • .NET 10.0.8
        • linux-arm64

        Repro 1: authentication test hangs on net11.0

        This single test hangs on .NET 11 Preview 4linux-arm64:

        dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
        --framework net11.0 \
        --configuration Debug \
        --no-build \
        --no-restore \
        --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
        --logger "console;verbosity=detailed" \
        --logger "trx;LogFileName=net11.0.arm64.single.trx" \
        --results-directory /tmp/cuemon-results \
        -p:TestTfmsInParallel=false \
        --blame \
        --blame-hang \
        --blame-hang-timeout 45s

        Observed:

        • xUnit discovery completes.
        • Test execution starts.
        • The single filtered test hangs.
        • --blame-hang-timeout aborts the run.

        The same test passes on .NET 10.0.8linux-arm64:

        dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
        --framework net10.0 \
        --configuration Debug \
        --no-build \
        --no-restore \
        --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
        --logger "console;verbosity=detailed" \
        --logger "trx;LogFileName=net10.0.arm64.single.trx" \
        --results-directory /tmp/cuemon-results \
        -p:TestTfmsInParallel=false \
        --blame \
        --blame-hang \
        --blame-hang-timeout 45s

        Observed on .NET 10.0.8:

        • Test run successful
        • Total tests: 1
        • Passed: 1

        Repro 2: ASP.NET Core middleware test hangs on net11.0

        With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

        dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
        --framework net11.0 \
        --configuration Debug \
        --no-build \
        --no-restore \
        --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
        --logger "console;verbosity=detailed" \
        --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
        --results-directory /tmp/cuemon-results \
        -p:TestTfmsInParallel=false \
        --blame \
        --blame-hang \
        --blame-hang-timeout 90s

        The broader project run also identifies the same test as long-running/hung:

        Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
        

        The same filtered test passes on .NET 10.0.8linux-arm64:

        dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
        --framework net10.0 \
        --configuration Debug \
        --no-build \
        --no-restore \
        --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
        --logger "console;verbosity=detailed" \
        --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
        --results-directory /tmp/cuemon-results \
        -p:TestTfmsInParallel=false \
        --blame \
        --blame-hang \
        --blame-hang-timeout 90s

        Observed on .NET 10.0.8:

        • Test run successful
        • Total tests: 1
        • Passed: 1
        • The test itself completes in about 1 second.

        Affected CI pattern

        The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

        • Cuemon.AspNetCore.Authentication.Tests
        • Cuemon.AspNetCore.FunctionalTests
        • Cuemon.AspNetCore.Mvc.FunctionalTests
        • Cuemon.AspNetCore.Mvc.Tests
        • Cuemon.AspNetCore.Razor.TagHelpers.Tests
        • Cuemon.AspNetCore.Tests
        • Cuemon.Extensions.AspNetCore.Authentication.Tests
        • Cuemon.Extensions.AspNetCore.Mvc.*
        • Cuemon.Extensions.AspNetCore.Tests

        Debug and Release ARM64 Linux jobs are affected.

        Exceptions (if any)

        No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

        Example output from the net11.0 middleware repro:

        [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
        [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
        Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
        The active Test Run was aborted because the host process exited unexpectedly.
        The test running when the crash occurred:
        Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
        

        Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

        ptrace(ATTACH, ...) FAILED Function not implemented (38)
        

        I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

        .NET Version

        11.0.100-preview.4.26230.115
        

        Anything else?

        dotnet --info from the ARM64 repro container:

        .NET SDK:
        Version: 11.0.100-preview.4.26230.115
        Commit: 4370ea1634
        Workload version: 11.0.100-manifests.bd820daa
        MSBuild version: 18.7.0-preview-26230-115+4370ea163
        Runtime Environment:
        OS Name: ubuntu
        OS Version: 24.04
        OS Platform: Linux
        RID: linux-arm64
        Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
        Host:
        Version: 11.0.0-preview.4.26230.115
        Architecture: arm64
        Commit: 4370ea1634
        .NET SDKs installed:
        10.0.100 [/usr/share/dotnet/sdk]
        11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
        .NET runtimes installed:
        Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
        Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
        Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
        

        Notes:

        • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
        • The issue reproduces with --no-build --no-restore.
        • The issue reproduces with -p:TestTfmsInParallel=false.
        • The issue reproduces with xUnit test collection parallelization disabled.
        • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
        • The same representative tests pass on net10.0linux-arm64.
        • Windows runners pass.
        • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
        • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

        cuemon-results.zip

        .NET Version

        11.0.100-preview.4.26230.115

        Anything else?

        CI platform matrix

        The CI pipeline exercises a broad OS/architecture/configuration matrix:

        • Linux x64: ubuntu-24.04
        • Linux ARM64: ubuntu-24.04-arm
        • Windows x64: windows-2025
        • Windows ARM64: windows-11-arm
        • Configurations: Debug and Release
        • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

        The relevant workflow is:

        https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

        The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

        Metadata

        Metadata

        Assignees

        No one assigned

          Labels

          area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

          Type

          Projects

          • Status
            No status

          Milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content

          Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

          Description

          @gimlichael

          Is there an existing issue for this?

          • I have searched the existing issues

          Describe the bug

          Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

          This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

          The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

          • --no-build
          • --no-restore
          • -p:TestTfmsInParallel=false
          • xUnit test collection parallelization disabled
          • single filtered tests

          This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

          Related prior issue with a similar observable dotnet test hang symptom:

          dotnet/sdk#43432

          This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

          Expected Behavior

          ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

          Steps To Reproduce

          Repository / branch for maintainers to clone and test:

          https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

          Clone command:

          git clone https://github.com/codebeltnet/cuemon.git
          cd cuemon
          git checkout v11.0.0/double-digits

          Environment used for local reproduction:

          • Ubuntu 24.04
          • linux-arm64 / aarch64
          • .NET SDK: 11.0.100-preview.4.26230.115
          • Runtime: 11.0.0-preview.4.26230.115
          • xUnit VSTest Adapter: 3.1.5
          • Docker Desktop running linux/arm64 image via QEMU

          Comparison environment:

          • Same container/repo setup
          • .NET 10.0.8
          • linux-arm64

          Repro 1: authentication test hangs on net11.0

          This single test hangs on .NET 11 Preview 4linux-arm64:

          dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
          --framework net11.0 \
          --configuration Debug \
          --no-build \
          --no-restore \
          --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
          --logger "console;verbosity=detailed" \
          --logger "trx;LogFileName=net11.0.arm64.single.trx" \
          --results-directory /tmp/cuemon-results \
          -p:TestTfmsInParallel=false \
          --blame \
          --blame-hang \
          --blame-hang-timeout 45s

          Observed:

          • xUnit discovery completes.
          • Test execution starts.
          • The single filtered test hangs.
          • --blame-hang-timeout aborts the run.

          The same test passes on .NET 10.0.8linux-arm64:

          dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
          --framework net10.0 \
          --configuration Debug \
          --no-build \
          --no-restore \
          --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
          --logger "console;verbosity=detailed" \
          --logger "trx;LogFileName=net10.0.arm64.single.trx" \
          --results-directory /tmp/cuemon-results \
          -p:TestTfmsInParallel=false \
          --blame \
          --blame-hang \
          --blame-hang-timeout 45s

          Observed on .NET 10.0.8:

          • Test run successful
          • Total tests: 1
          • Passed: 1

          Repro 2: ASP.NET Core middleware test hangs on net11.0

          With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

          dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
          --framework net11.0 \
          --configuration Debug \
          --no-build \
          --no-restore \
          --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
          --logger "console;verbosity=detailed" \
          --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
          --results-directory /tmp/cuemon-results \
          -p:TestTfmsInParallel=false \
          --blame \
          --blame-hang \
          --blame-hang-timeout 90s

          The broader project run also identifies the same test as long-running/hung:

          Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
          

          The same filtered test passes on .NET 10.0.8linux-arm64:

          dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
          --framework net10.0 \
          --configuration Debug \
          --no-build \
          --no-restore \
          --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
          --logger "console;verbosity=detailed" \
          --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
          --results-directory /tmp/cuemon-results \
          -p:TestTfmsInParallel=false \
          --blame \
          --blame-hang \
          --blame-hang-timeout 90s

          Observed on .NET 10.0.8:

          • Test run successful
          • Total tests: 1
          • Passed: 1
          • The test itself completes in about 1 second.

          Affected CI pattern

          The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

          • Cuemon.AspNetCore.Authentication.Tests
          • Cuemon.AspNetCore.FunctionalTests
          • Cuemon.AspNetCore.Mvc.FunctionalTests
          • Cuemon.AspNetCore.Mvc.Tests
          • Cuemon.AspNetCore.Razor.TagHelpers.Tests
          • Cuemon.AspNetCore.Tests
          • Cuemon.Extensions.AspNetCore.Authentication.Tests
          • Cuemon.Extensions.AspNetCore.Mvc.*
          • Cuemon.Extensions.AspNetCore.Tests

          Debug and Release ARM64 Linux jobs are affected.

          Exceptions (if any)

          No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

          Example output from the net11.0 middleware repro:

          [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
          [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
          Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
          The active Test Run was aborted because the host process exited unexpectedly.
          The test running when the crash occurred:
          Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
          

          Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

          ptrace(ATTACH, ...) FAILED Function not implemented (38)
          

          I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

          .NET Version

          11.0.100-preview.4.26230.115
          

          Anything else?

          dotnet --info from the ARM64 repro container:

          .NET SDK:
          Version: 11.0.100-preview.4.26230.115
          Commit: 4370ea1634
          Workload version: 11.0.100-manifests.bd820daa
          MSBuild version: 18.7.0-preview-26230-115+4370ea163
          Runtime Environment:
          OS Name: ubuntu
          OS Version: 24.04
          OS Platform: Linux
          RID: linux-arm64
          Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
          Host:
          Version: 11.0.0-preview.4.26230.115
          Architecture: arm64
          Commit: 4370ea1634
          .NET SDKs installed:
          10.0.100 [/usr/share/dotnet/sdk]
          11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
          .NET runtimes installed:
          Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
          Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
          Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
          Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
          

          Notes:

          • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
          • The issue reproduces with --no-build --no-restore.
          • The issue reproduces with -p:TestTfmsInParallel=false.
          • The issue reproduces with xUnit test collection parallelization disabled.
          • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
          • The same representative tests pass on net10.0linux-arm64.
          • Windows runners pass.
          • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
          • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

          cuemon-results.zip

          .NET Version

          11.0.100-preview.4.26230.115

          Anything else?

          CI platform matrix

          The CI pipeline exercises a broad OS/architecture/configuration matrix:

          • Linux x64: ubuntu-24.04
          • Linux ARM64: ubuntu-24.04-arm
          • Windows x64: windows-2025
          • Windows ARM64: windows-11-arm
          • Configurations: Debug and Release
          • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

          The relevant workflow is:

          https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

          The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

            Type

            Projects

            • Status
              No status

            Milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content

            Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

            Description

            @gimlichael

            Is there an existing issue for this?

            • I have searched the existing issues

            Describe the bug

            Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

            This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

            The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

            • --no-build
            • --no-restore
            • -p:TestTfmsInParallel=false
            • xUnit test collection parallelization disabled
            • single filtered tests

            This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

            Related prior issue with a similar observable dotnet test hang symptom:

            dotnet/sdk#43432

            This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

            Expected Behavior

            ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

            Steps To Reproduce

            Repository / branch for maintainers to clone and test:

            https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

            Clone command:

            git clone https://github.com/codebeltnet/cuemon.git
            cd cuemon
            git checkout v11.0.0/double-digits

            Environment used for local reproduction:

            • Ubuntu 24.04
            • linux-arm64 / aarch64
            • .NET SDK: 11.0.100-preview.4.26230.115
            • Runtime: 11.0.0-preview.4.26230.115
            • xUnit VSTest Adapter: 3.1.5
            • Docker Desktop running linux/arm64 image via QEMU

            Comparison environment:

            • Same container/repo setup
            • .NET 10.0.8
            • linux-arm64

            Repro 1: authentication test hangs on net11.0

            This single test hangs on .NET 11 Preview 4linux-arm64:

            dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
            --framework net11.0 \
            --configuration Debug \
            --no-build \
            --no-restore \
            --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
            --logger "console;verbosity=detailed" \
            --logger "trx;LogFileName=net11.0.arm64.single.trx" \
            --results-directory /tmp/cuemon-results \
            -p:TestTfmsInParallel=false \
            --blame \
            --blame-hang \
            --blame-hang-timeout 45s

            Observed:

            • xUnit discovery completes.
            • Test execution starts.
            • The single filtered test hangs.
            • --blame-hang-timeout aborts the run.

            The same test passes on .NET 10.0.8linux-arm64:

            dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
            --framework net10.0 \
            --configuration Debug \
            --no-build \
            --no-restore \
            --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
            --logger "console;verbosity=detailed" \
            --logger "trx;LogFileName=net10.0.arm64.single.trx" \
            --results-directory /tmp/cuemon-results \
            -p:TestTfmsInParallel=false \
            --blame \
            --blame-hang \
            --blame-hang-timeout 45s

            Observed on .NET 10.0.8:

            • Test run successful
            • Total tests: 1
            • Passed: 1

            Repro 2: ASP.NET Core middleware test hangs on net11.0

            With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

            dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
            --framework net11.0 \
            --configuration Debug \
            --no-build \
            --no-restore \
            --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
            --logger "console;verbosity=detailed" \
            --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
            --results-directory /tmp/cuemon-results \
            -p:TestTfmsInParallel=false \
            --blame \
            --blame-hang \
            --blame-hang-timeout 90s

            The broader project run also identifies the same test as long-running/hung:

            Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
            

            The same filtered test passes on .NET 10.0.8linux-arm64:

            dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
            --framework net10.0 \
            --configuration Debug \
            --no-build \
            --no-restore \
            --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
            --logger "console;verbosity=detailed" \
            --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
            --results-directory /tmp/cuemon-results \
            -p:TestTfmsInParallel=false \
            --blame \
            --blame-hang \
            --blame-hang-timeout 90s

            Observed on .NET 10.0.8:

            • Test run successful
            • Total tests: 1
            • Passed: 1
            • The test itself completes in about 1 second.

            Affected CI pattern

            The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

            • Cuemon.AspNetCore.Authentication.Tests
            • Cuemon.AspNetCore.FunctionalTests
            • Cuemon.AspNetCore.Mvc.FunctionalTests
            • Cuemon.AspNetCore.Mvc.Tests
            • Cuemon.AspNetCore.Razor.TagHelpers.Tests
            • Cuemon.AspNetCore.Tests
            • Cuemon.Extensions.AspNetCore.Authentication.Tests
            • Cuemon.Extensions.AspNetCore.Mvc.*
            • Cuemon.Extensions.AspNetCore.Tests

            Debug and Release ARM64 Linux jobs are affected.

            Exceptions (if any)

            No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

            Example output from the net11.0 middleware repro:

            [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
            [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
            Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
            The active Test Run was aborted because the host process exited unexpectedly.
            The test running when the crash occurred:
            Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
            

            Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

            ptrace(ATTACH, ...) FAILED Function not implemented (38)
            

            I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

            .NET Version

            11.0.100-preview.4.26230.115
            

            Anything else?

            dotnet --info from the ARM64 repro container:

            .NET SDK:
            Version: 11.0.100-preview.4.26230.115
            Commit: 4370ea1634
            Workload version: 11.0.100-manifests.bd820daa
            MSBuild version: 18.7.0-preview-26230-115+4370ea163
            Runtime Environment:
            OS Name: ubuntu
            OS Version: 24.04
            OS Platform: Linux
            RID: linux-arm64
            Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
            Host:
            Version: 11.0.0-preview.4.26230.115
            Architecture: arm64
            Commit: 4370ea1634
            .NET SDKs installed:
            10.0.100 [/usr/share/dotnet/sdk]
            11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
            .NET runtimes installed:
            Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
            Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
            Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
            Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
            

            Notes:

            • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
            • The issue reproduces with --no-build --no-restore.
            • The issue reproduces with -p:TestTfmsInParallel=false.
            • The issue reproduces with xUnit test collection parallelization disabled.
            • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
            • The same representative tests pass on net10.0linux-arm64.
            • Windows runners pass.
            • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
            • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

            cuemon-results.zip

            .NET Version

            11.0.100-preview.4.26230.115

            Anything else?

            CI platform matrix

            The CI pipeline exercises a broad OS/architecture/configuration matrix:

            • Linux x64: ubuntu-24.04
            • Linux ARM64: ubuntu-24.04-arm
            • Windows x64: windows-2025
            • Windows ARM64: windows-11-arm
            • Configurations: Debug and Release
            • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

            The relevant workflow is:

            https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

            The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

            Metadata

            Metadata

            Assignees

            No one assigned

              Labels

              area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

              Type

              Projects

              • Status
                No status

              Milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

              Description

              @gimlichael

              Is there an existing issue for this?

              • I have searched the existing issues

              Describe the bug

              Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

              This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

              The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

              • --no-build
              • --no-restore
              • -p:TestTfmsInParallel=false
              • xUnit test collection parallelization disabled
              • single filtered tests

              This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

              Related prior issue with a similar observable dotnet test hang symptom:

              dotnet/sdk#43432

              This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

              Expected Behavior

              ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

              Steps To Reproduce

              Repository / branch for maintainers to clone and test:

              https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

              Clone command:

              git clone https://github.com/codebeltnet/cuemon.git
              cd cuemon
              git checkout v11.0.0/double-digits

              Environment used for local reproduction:

              • Ubuntu 24.04
              • linux-arm64 / aarch64
              • .NET SDK: 11.0.100-preview.4.26230.115
              • Runtime: 11.0.0-preview.4.26230.115
              • xUnit VSTest Adapter: 3.1.5
              • Docker Desktop running linux/arm64 image via QEMU

              Comparison environment:

              • Same container/repo setup
              • .NET 10.0.8
              • linux-arm64

              Repro 1: authentication test hangs on net11.0

              This single test hangs on .NET 11 Preview 4linux-arm64:

              dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
              --framework net11.0 \
              --configuration Debug \
              --no-build \
              --no-restore \
              --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
              --logger "console;verbosity=detailed" \
              --logger "trx;LogFileName=net11.0.arm64.single.trx" \
              --results-directory /tmp/cuemon-results \
              -p:TestTfmsInParallel=false \
              --blame \
              --blame-hang \
              --blame-hang-timeout 45s

              Observed:

              • xUnit discovery completes.
              • Test execution starts.
              • The single filtered test hangs.
              • --blame-hang-timeout aborts the run.

              The same test passes on .NET 10.0.8linux-arm64:

              dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
              --framework net10.0 \
              --configuration Debug \
              --no-build \
              --no-restore \
              --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
              --logger "console;verbosity=detailed" \
              --logger "trx;LogFileName=net10.0.arm64.single.trx" \
              --results-directory /tmp/cuemon-results \
              -p:TestTfmsInParallel=false \
              --blame \
              --blame-hang \
              --blame-hang-timeout 45s

              Observed on .NET 10.0.8:

              • Test run successful
              • Total tests: 1
              • Passed: 1

              Repro 2: ASP.NET Core middleware test hangs on net11.0

              With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

              dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
              --framework net11.0 \
              --configuration Debug \
              --no-build \
              --no-restore \
              --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
              --logger "console;verbosity=detailed" \
              --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
              --results-directory /tmp/cuemon-results \
              -p:TestTfmsInParallel=false \
              --blame \
              --blame-hang \
              --blame-hang-timeout 90s

              The broader project run also identifies the same test as long-running/hung:

              Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
              

              The same filtered test passes on .NET 10.0.8linux-arm64:

              dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
              --framework net10.0 \
              --configuration Debug \
              --no-build \
              --no-restore \
              --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
              --logger "console;verbosity=detailed" \
              --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
              --results-directory /tmp/cuemon-results \
              -p:TestTfmsInParallel=false \
              --blame \
              --blame-hang \
              --blame-hang-timeout 90s

              Observed on .NET 10.0.8:

              • Test run successful
              • Total tests: 1
              • Passed: 1
              • The test itself completes in about 1 second.

              Affected CI pattern

              The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

              • Cuemon.AspNetCore.Authentication.Tests
              • Cuemon.AspNetCore.FunctionalTests
              • Cuemon.AspNetCore.Mvc.FunctionalTests
              • Cuemon.AspNetCore.Mvc.Tests
              • Cuemon.AspNetCore.Razor.TagHelpers.Tests
              • Cuemon.AspNetCore.Tests
              • Cuemon.Extensions.AspNetCore.Authentication.Tests
              • Cuemon.Extensions.AspNetCore.Mvc.*
              • Cuemon.Extensions.AspNetCore.Tests

              Debug and Release ARM64 Linux jobs are affected.

              Exceptions (if any)

              No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

              Example output from the net11.0 middleware repro:

              [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
              [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
              Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
              The active Test Run was aborted because the host process exited unexpectedly.
              The test running when the crash occurred:
              Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
              

              Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

              ptrace(ATTACH, ...) FAILED Function not implemented (38)
              

              I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

              .NET Version

              11.0.100-preview.4.26230.115
              

              Anything else?

              dotnet --info from the ARM64 repro container:

              .NET SDK:
              Version: 11.0.100-preview.4.26230.115
              Commit: 4370ea1634
              Workload version: 11.0.100-manifests.bd820daa
              MSBuild version: 18.7.0-preview-26230-115+4370ea163
              Runtime Environment:
              OS Name: ubuntu
              OS Version: 24.04
              OS Platform: Linux
              RID: linux-arm64
              Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
              Host:
              Version: 11.0.0-preview.4.26230.115
              Architecture: arm64
              Commit: 4370ea1634
              .NET SDKs installed:
              10.0.100 [/usr/share/dotnet/sdk]
              11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
              .NET runtimes installed:
              Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
              Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
              Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
              Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
              

              Notes:

              • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
              • The issue reproduces with --no-build --no-restore.
              • The issue reproduces with -p:TestTfmsInParallel=false.
              • The issue reproduces with xUnit test collection parallelization disabled.
              • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
              • The same representative tests pass on net10.0linux-arm64.
              • Windows runners pass.
              • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
              • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

              cuemon-results.zip

              .NET Version

              11.0.100-preview.4.26230.115

              Anything else?

              CI platform matrix

              The CI pipeline exercises a broad OS/architecture/configuration matrix:

              • Linux x64: ubuntu-24.04
              • Linux ARM64: ubuntu-24.04-arm
              • Windows x64: windows-2025
              • Windows ARM64: windows-11-arm
              • Configurations: Debug and Release
              • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

              The relevant workflow is:

              https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

              The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

                Type

                Projects

                • Status
                  No status

                Milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content

                Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 linux-arm64 #128490

                Description

                @gimlichael

                Is there an existing issue for this?

                • I have searched the existing issues

                Describe the bug

                Multiple ASP.NET Core-related test projects hang on .NET 11 Preview 4 when running on linux-arm64.

                This appears isolated to ASP.NET Core-related tests in my repository. Non-ASP.NET Core test projects do not appear to fail the same way. The same representative tests pass on .NET 10.0.8linux-arm64, and the full suite works on Windows runners.

                The original CI symptom was that ARM64 Linux jobs eventually failed with exit code 143, after test execution appeared to start but never complete. After isolating locally in an Ubuntu 24.04 ARM64 Docker environment, the hang reproduces with:

                • --no-build
                • --no-restore
                • -p:TestTfmsInParallel=false
                • xUnit test collection parallelization disabled
                • single filtered tests

                This suggests the problem is not restore/build, SDK build/test orchestration, multi-TFM parallelism, or xUnit test collection parallelism.

                Related prior issue with a similar observable dotnet test hang symptom:

                dotnet/sdk#43432

                This new case appears different because it still reproduces with --no-build --no-restore and single filtered ASP.NET Core tests.

                Expected Behavior

                ASP.NET Core middleware/authentication tests should complete on .NET 11 Preview 4linux-arm64, as the representative tests do on .NET 10.0.8linux-arm64 and as the suite does on Windows runners.

                Steps To Reproduce

                Repository / branch for maintainers to clone and test:

                https://github.com/codebeltnet/cuemon/tree/v11.0.0/double-digits

                Clone command:

                git clone https://github.com/codebeltnet/cuemon.git
                cd cuemon
                git checkout v11.0.0/double-digits

                Environment used for local reproduction:

                • Ubuntu 24.04
                • linux-arm64 / aarch64
                • .NET SDK: 11.0.100-preview.4.26230.115
                • Runtime: 11.0.0-preview.4.26230.115
                • xUnit VSTest Adapter: 3.1.5
                • Docker Desktop running linux/arm64 image via QEMU

                Comparison environment:

                • Same container/repo setup
                • .NET 10.0.8
                • linux-arm64

                Repro 1: authentication test hangs on net11.0

                This single test hangs on .NET 11 Preview 4linux-arm64:

                dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
                --framework net11.0 \
                --configuration Debug \
                --no-build \
                --no-restore \
                --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
                --logger "console;verbosity=detailed" \
                --logger "trx;LogFileName=net11.0.arm64.single.trx" \
                --results-directory /tmp/cuemon-results \
                -p:TestTfmsInParallel=false \
                --blame \
                --blame-hang \
                --blame-hang-timeout 45s

                Observed:

                • xUnit discovery completes.
                • Test execution starts.
                • The single filtered test hangs.
                • --blame-hang-timeout aborts the run.

                The same test passes on .NET 10.0.8linux-arm64:

                dotnet test test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj \
                --framework net10.0 \
                --configuration Debug \
                --no-build \
                --no-restore \
                --filter "FullyQualifiedName=Cuemon.AspNetCore.Authentication.Basic.BasicAuthenticationHandlerTest.HandleAuthenticateAsync_ShouldReturn401WithUnauthorizedMessage_WhenAuthenticatorIsNotProbablySetup" \
                --logger "console;verbosity=detailed" \
                --logger "trx;LogFileName=net10.0.arm64.single.trx" \
                --results-directory /tmp/cuemon-results \
                -p:TestTfmsInParallel=false \
                --blame \
                --blame-hang \
                --blame-hang-timeout 45s

                Observed on .NET 10.0.8:

                • Test run successful
                • Total tests: 1
                • Passed: 1

                Repro 2: ASP.NET Core middleware test hangs on net11.0

                With xUnit test collection parallelization disabled, this test also hangs on .NET 11 Preview 4linux-arm64:

                dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
                --framework net11.0 \
                --configuration Debug \
                --no-build \
                --no-restore \
                --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
                --logger "console;verbosity=detailed" \
                --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net11.0.arm64.single.trx" \
                --results-directory /tmp/cuemon-results \
                -p:TestTfmsInParallel=false \
                --blame \
                --blame-hang \
                --blame-hang-timeout 90s

                The broader project run also identifies the same test as long-running/hung:

                Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
                

                The same filtered test passes on .NET 10.0.8linux-arm64:

                dotnet test test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj \
                --framework net10.0 \
                --configuration Debug \
                --no-build \
                --no-restore \
                --filter "FullyQualifiedName=Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions" \
                --logger "console;verbosity=detailed" \
                --logger "trx;LogFileName=Cuemon.AspNetCore.Tests.net10.0.arm64.single.trx" \
                --results-directory /tmp/cuemon-results \
                -p:TestTfmsInParallel=false \
                --blame \
                --blame-hang \
                --blame-hang-timeout 90s

                Observed on .NET 10.0.8:

                • Test run successful
                • Total tests: 1
                • Passed: 1
                • The test itself completes in about 1 second.

                Affected CI pattern

                The failing CI jobs are ARM64 Linux jobs for ASP.NET Core-related test projects, including:

                • Cuemon.AspNetCore.Authentication.Tests
                • Cuemon.AspNetCore.FunctionalTests
                • Cuemon.AspNetCore.Mvc.FunctionalTests
                • Cuemon.AspNetCore.Mvc.Tests
                • Cuemon.AspNetCore.Razor.TagHelpers.Tests
                • Cuemon.AspNetCore.Tests
                • Cuemon.Extensions.AspNetCore.Authentication.Tests
                • Cuemon.Extensions.AspNetCore.Mvc.*
                • Cuemon.Extensions.AspNetCore.Tests

                Debug and Release ARM64 Linux jobs are affected.

                Exceptions (if any)

                No managed exception is thrown by the test itself. The testhost hangs until VSTest --blame-hang-timeout aborts the run.

                Example output from the net11.0 middleware repro:

                [xUnit.net] Starting: Cuemon.AspNetCore.Tests (parallel test collections = off, stop on fail = off, explicit = off, seed = ...)
                [xUnit.net] Cuemon.AspNetCore.Tests: [Long Running Test] 'Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions', Elapsed: 00:01:25
                Data collector 'Blame' message: The specified inactivity time of 90 seconds has elapsed. Collecting hang dumps from testhost and its child processes.
                The active Test Run was aborted because the host process exited unexpectedly.
                The test running when the crash occurred:
                Cuemon.AspNetCore.Hosting.HostingEnvironmentMiddlewareTest.InvokeAsync_ShouldHaveHostingEnvironmentHeader_ConfiguredByIOptions
                

                Local Docker ARM64 via QEMU cannot produce a useful dump because createdump fails with:

                ptrace(ATTACH, ...) FAILED Function not implemented (38)
                

                I believe this is a QEMU/user-mode diagnostic limitation, not the underlying product failure. A native ubuntu-24.04-arm GitHub Actions runner may be better suited for dump capture.

                .NET Version

                11.0.100-preview.4.26230.115
                

                Anything else?

                dotnet --info from the ARM64 repro container:

                .NET SDK:
                Version: 11.0.100-preview.4.26230.115
                Commit: 4370ea1634
                Workload version: 11.0.100-manifests.bd820daa
                MSBuild version: 18.7.0-preview-26230-115+4370ea163
                Runtime Environment:
                OS Name: ubuntu
                OS Version: 24.04
                OS Platform: Linux
                RID: linux-arm64
                Base Path: /usr/share/dotnet/sdk/11.0.100-preview.4.26230.115/
                Host:
                Version: 11.0.0-preview.4.26230.115
                Architecture: arm64
                Commit: 4370ea1634
                .NET SDKs installed:
                10.0.100 [/usr/share/dotnet/sdk]
                11.0.100-preview.4.26230.115 [/usr/share/dotnet/sdk]
                .NET runtimes installed:
                Microsoft.AspNetCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
                Microsoft.AspNetCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
                Microsoft.NETCore.App 10.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
                Microsoft.NETCore.App 11.0.0-preview.4.26230.115 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
                

                Notes:

                • The repro was isolated in a clean Linux copy of the repository to avoid Windows-generated obj files leaking Visual Studio/NuGet fallback paths into the container.
                • The issue reproduces with --no-build --no-restore.
                • The issue reproduces with -p:TestTfmsInParallel=false.
                • The issue reproduces with xUnit test collection parallelization disabled.
                • At least two independent ASP.NET Core-related representative tests hang on net11.0linux-arm64.
                • The same representative tests pass on net10.0linux-arm64.
                • Windows runners pass.
                • Original CI symptom was exit code 143, consistent with the hung test process eventually being terminated.
                • This was found in a mature multi-targeted OSS codebase rather than a synthetic minimal repro. The single-test filters above are the current minimized repros.

                cuemon-results.zip

                .NET Version

                11.0.100-preview.4.26230.115

                Anything else?

                CI platform matrix

                The CI pipeline exercises a broad OS/architecture/configuration matrix:

                • Linux x64: ubuntu-24.04
                • Linux ARM64: ubuntu-24.04-arm
                • Windows x64: windows-2025
                • Windows ARM64: windows-11-arm
                • Configurations: Debug and Release
                • Test projects: generated dynamically from test/**/*.csproj, except Cuemon.Data.SqlClient.Tests.csproj

                The relevant workflow is:

                https://github.com/codebeltnet/cuemon/blob/v11.0.0/double-digits/.github/workflows/ci-pipeline.yml

                The failures are concentrated in ASP.NET Core-related test projects on Linux ARM64. The Windows matrix passes, and representative tests pass on .NET 10.0.8linux-arm64.

                Metadata

                Metadata

                Assignees

                No one assigned

                  Labels

                  area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

                  Type

                  Projects

                  • Status
                    No status

                  Milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions