Skip to content

[✨ Triage] dotnet/runtime#120257 by rzikm - [Test Failure] HttpClientHandlerTest_Http3.Public_Interop_ExactVersion_B ... #1551

@MihuBot

Description

@MihuBot

Triage for dotnet/runtime#120257.
Repo filter: All networking issues.
MihuBot version: 554101.
Ping MihaZupan for any issues.

This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.

Tool logs
dotnet/runtime#120257: [Test Failure] HttpClientHandlerTest_Http3.Public_Interop_ExactVersion_BufferContent_Success(uri: "https://quic.nginx.org/") by rzikm
[Tool] Searching for HttpClientHandlerTest_Http3.Public_Interop_ExactVersion_BufferContent_Success, quic.nginx.org, Authentication failed because the remote party sent a TLS alert: '112', HttpClientHandlerTest_Http3, TLS alert 112 (IncludeOpen=True, IncludeClosed=True, IncludeIssues=True, IncludePullRequests=False, Repository=dotnet/runtime)
[Tool] Found 58 issues, 130 comments, 24 returned results (21745 ms)

Here are related issues and discussions for the test failure in issue #120257: "[Test Failure] HttpClientHandlerTest_Http3.Public_Interop_ExactVersion_BufferContent_Success(uri: "https://quic.nginx.org/")", which reports:

  • Test failure in System.Net.Http.Functional.Tests.HttpClientHandlerTest_Http3.Public_Interop_ExactVersion_BufferContent_Success
  • Error: Authentication failed because the remote party sent a TLS alert: '112'.

Highly Relevant Issues

Issue #57498 (Aug 2021) - [HTTP/3] Test timeout: Public_Interop_ExactVersion_BufferContent_Success

  • Discusses failures of the same test, but with a timeout error, against external servers (e.g., https://cloudflare-quic.com/).
  • Comments highlight that failures against external servers are often not actionable and may be due to transient network/server issues.
  • Suggestion: Exception should indicate it's an external server to help triage.
  • Closed as not actionable after test endpoint stabilized.

Issue #63009 (Dec 2021) - [HTTP/3] test failure: Public_Interop_ExactVersion_BufferContent_Success fails with CONNECTION_IDLE

  • Similar test, but with a different error (CONNECTION_IDLE) against another external endpoint.
  • Comment: Issue attributed to remote endpoint problems; test was disabled for that endpoint.
  • Endpoint was permanently removed from tests.

Issue #68692 (Apr 2022) - Test failure System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_Http3_MsQuic.Public_Interop_ExactVersion_Success(uri: "https://www.litespeedtech.com/")

  • Same test, different external endpoint, failed with HTTP status mismatch (Forbidden vs. OK).
  • Comment: Probable cause is temporary unreachability or server-side change; not actionable.

Issue #98394 (Feb 2024) - [6.0] Failure in System.Net.Security.Tests.SyncSslStreamSystemDefaultTest.ClientAndServer_OneOrBothUseDefault_Ok due to remote TLS alert 'ProtocolVersion'

  • Reports a TLS alert ('ProtocolVersion') from remote party during handshake.
  • Comment: Rare, not easily actionable, likely external/environmental.

Issue #15856 (Dec 2015) - SslStream: Authentication failed because the remote party has closed the transport stream

  • Reports similar error for SslStream; root cause was cipher suite mismatch between client/server.
  • Discussion: Exception is not always helpful; underlying cause may be TLS negotiation/cipher mismatch.

Issue #17510 (Jun 2016) - System.Net.Security: Authentication failed because the remote party has closed the transport stream.

  • Similar error in test; attributed to server closing connection during handshake.

Issue #31119 (Oct 2019) - TLS 1.2 The handshake failed due to an unexpected packet format

  • TLS handshake failures, often due to network appliances/firewalls performing TLS inspection.
  • Comment: Disabling inspection/firewall resolved issue.

Issue #77989 (Nov 2022) - TLS Handshake error: Win32Exception: The message received was unexpected or badly formatted

  • TLS handshake error, resolved by increasing Windows registry TLS message size limit.
  • Suggestion: Improve error messages/troubleshooting documentation.

Issue #18837 (Oct 2016, ongoing) - Supports TLS alerts for cert validation for non-Windows platforms

  • Tracks work to improve TLS alert reporting and cert validation errors.
  • Discussion: Improving error reporting for handshake failures is nontrivial, especially on non-Windows platforms.

General QUIC/HTTP3 Test Flakiness

Issue #87552 (Jun 2023, updated 2024) - [Test Failure] System.Net.Http.Functional.Tests.HttpClientHandlerTest_Http3.ServerSendsTrailingHeaders_Success

  • Reports flakiness in HTTP/3 tests, often attributed to external factors or reruns.

Issue #87814 (Jun 2023) - [Test Failure] System.Net.Http.Functional.Tests.HttpClientHandlerTest_Http3.ServerSendsTrailingHeaders_Success

Issue #74896 (Sep 2022) - Failures in SocketsHttpHandler_HttpClientHandler_MaxResponseHeadersLength_Http3 test

  • HTTP/3 test failures, sometimes due to QUIC/HTTP3 issues or external endpoint problems.

Summary and Guidance

  • Most failures of this test are due to transient or permanent issues with external endpoints (e.g., quic.nginx.org).
  • TLS alert '112' is sent by the remote server, typically indicating a handshake failure, which may be due to cipher suite mismatch, unsupported protocol, or server-side configuration.
  • These issues are generally not actionable from the .NET side unless a pattern emerges or the endpoint is permanently misconfigured.
  • Improving error reporting for TLS handshake failures is an ongoing area of work, but root causes are often external.
  • If failures persist for a given endpoint, consider disabling or removing it from the test suite.

Actionable Next Steps

  • If this is a one-off or rare failure, it can be considered not actionable.
  • If failures against quic.nginx.org become frequent, consider removing or disabling tests for this endpoint, as was done for other endpoints in previous issues.
  • If you need to improve error reporting, see ongoing work in #18837 and #77989.

References:

Let me know if you need a deeper dive into any specific issue or discussion!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions