Skip to content

[release/9.0] Quarantine Linux Kestrel QUIC TLS failures - #69730

Closed
wtgodbe wants to merge 2 commits into
dotnet:release/9.0from
wtgodbe:wtgodbe/backport-quic-quarantine-9
Closed

wtgodbe wants to merge 2 commits into
dotnet:release/9.0from
wtgodbe:wtgodbe/backport-quic-quarantine-9

Conversation

@wtgodbe

@wtgodbe wtgodbe commented Oct 8, 2026

Copy link
Copy Markdown
Member

[release/9.0] Quarantine Linux Kestrel QUIC TLS failures

Backport the Linux QUIC TLS test quarantine

Description

Backports #69584 to release/9.0 to quarantine the recurring Linux Kestrel HTTP/3 and QUIC failures that terminate during the MsQuic TLS handshake with QUIC_STATUS_TLS_ERROR.

The backport includes OS-scoped quarantine support and per-row quarantine support for ConditionalTheory, preserving healthy Windows, macOS, and HTTP/2 coverage. Two tests from the original PR do not exist on release/9.0 and are therefore not included. An existing all-platform quarantine for StreamPool_ManyConcurrentStreams_StreamPoolFull is preserved.

Related to #69582

Customer Impact

The failure currently blocks unrelated release/9.0 servicing PRs and reproduces on the target branch. Quarantining the affected Linux-only test cases restores useful servicing validation while the underlying runtime fix is unavailable on this branch.

Regression?

  • Yes
  • No

This is a branch-wide runtime/test-environment failure rather than a product regression introduced by the affected PRs.

Risk

  • High
  • Medium
  • Low

This changes test discovery metadata and shared test infrastructure only. Product binaries and behavior are unchanged, and the quarantine remains scoped to Linux and the affected HTTP/3/QUIC rows.

Verification

  • Manual (required)
  • Automated

Confirmed the backport changes exactly the same 12 files as #69584, excluding only the two tests absent from release/9.0, and preserves the existing #56517 quarantine.

Passed with 0 warnings and 0 errors:

./src/Testing/build.sh --projects "$PWD/src/Testing/test/Microsoft.AspNetCore.InternalTesting.Tests.csproj" -test --no-build-native --no-build-nodejs --no-build-java --no-build-installers -p:TestRunnerAdditionalArguments='-class Microsoft.AspNetCore.InternalTesting.ConditionalTheoryTest -class Microsoft.AspNetCore.InternalTesting.Tests.QuarantinedTestAttributeTest'

./src/Servers/build.sh --projects "$PWD/src/Servers/Kestrel/Transport.Quic/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.csproj" --no-test --no-build-native --no-build-nodejs --no-build-java --no-build-installers

./src/Servers/build.sh --projects "$PWD/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj" --no-test --no-build-native --no-build-nodejs --no-build-java --no-build-installers

An unfiltered InternalTesting run was also attempted, but unrelated LoggedTest initialization tests failed under the local targeted-build invocation. The two changed test classes pass when selected directly.

The affected QUIC tests require Linux MsQuic and were not run on macOS; CI will validate their discovery and quarantine behavior on Linux.

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

Copilot AI balanced review requested due to automatic review settings October 8, 2026 20:37
@dotnet-policy-service dotnet-policy-service Bot added this to the 9.0.x milestone Oct 8, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hi @wtgodbe. If this is not a tell-mode PR, please make sure to follow the instructions laid out in the servicing process document.
Otherwise, please add tell-mode label.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The quarantine scope and shared discovery changes are consistent with the documented backport and preserve unaffected coverage.

0 open findings

What changed in this PR

Backports Linux-specific quarantine support for recurring Kestrel QUIC TLS failures without suppressing healthy platform or HTTP/2 coverage.

Changes:

  • Adds OS-scoped quarantine traits.
  • Supports quarantining individual ConditionalTheory rows.
  • Quarantines the affected Linux Kestrel HTTP/3 and QUIC tests.
File Description
src/​Testing/​test/​QuarantinedTestAttributeTest.cs Tests OS-scoped quarantine behavior.
src/​Testing/​test/​ConditionalTheoryTest.cs Tests per-row quarantine discovery.
src/​Testing/​src/​xunit/​QuarantinedTestTraitDiscoverer.cs Applies quarantine traits by OS.
src/​Testing/​src/​xunit/​QuarantinedTestDataAttribute.cs Defines quarantined theory-row data.
src/​Testing/​src/​xunit/​QuarantinedTestAttribute.cs Adds OS selection to quarantines.
src/​Testing/​src/​xunit/​ConditionalTheoryDiscoverer.cs Applies traits to selected rows.
src/​Servers/​Kestrel/​Transport.Quic/​test/​WebHostTests.cs Quarantines affected Linux hosting tests.
src/​Servers/​Kestrel/​Transport.Quic/​test/​QuicStreamContextTests.cs Quarantines affected stream tests.
src/​Servers/​Kestrel/​Transport.Quic/​test/​QuicConnectionListenerTests.cs Quarantines affected listener tests.
src/​Servers/​Kestrel/​Transport.Quic/​test/​QuicConnectionContextTests.cs Quarantines affected connection tests.
src/​Servers/​Kestrel/​test/​Interop.FunctionalTests/​Http3/​Http3TlsTests.cs Quarantines affected TLS tests.
src/​Servers/​Kestrel/​test/​Interop.FunctionalTests/​Http3/​Http3RequestTests.cs Quarantines affected HTTP/3 rows and facts.

🧠 Review effort: Balanced


💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@wtgodbe wtgodbe added the tell-mode Indicates a PR which is being merged during tell-mode label Oct 8, 2026
@wtgodbe

wtgodbe commented Oct 8, 2026

Copy link
Copy Markdown
Member Author

Closing since this will be fixed by dotnet/runtime#133158

@wtgodbe wtgodbe closed this Oct 8, 2026
@dotnet-policy-service dotnet-policy-service Bot modified the milestones: 9.0.x, 9.0.22 Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tell-mode Indicates a PR which is being merged during tell-mode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants