SocketsHttpHandler_DiagnosticsTest_Http3.SendAsync_DiagnosticListener_ExpectedTagsRecorded: traceparent was not injected (HTTP/3 loopback cross-talk?)

Đang mở
#137,357 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
networking, testing

Hướng nghiên cứu

Start with the failing tests in src/libraries/System.Net.Http/tests/FunctionalTests/DiagnosticsTests.cs and the adjacent HTTP/3 loopback tests, especially StatusCodes_ReceiveSuccess. Reproduce the failure and investigate whether concurrent loopback servers can exchange requests; the cross-talk explanation is still a hypothesis. Done when the cause is confirmed and the relevant tests pass reliably.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area-System.Net.Http Known Build Error untriaged

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1673975
Leg Name: net10.0-linux-Debug-x64-coreclr_release-(AzureLinux.3.0.Amd64.Open) (System.Net.Http.Functional.Tests)
Pull request: https://github.com/dotnet/runtime/pull/137292 (YAML-only Android Helix queue change; unrelated)

Also seen on main: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1658360 (azurelinux.4.amd64.open, statusCode: 404, 2026-11-01)

Error Details

System.Net.Http.Functional.Tests.SocketsHttpHandler_DiagnosticsTest_Http3.SendAsync_DiagnosticListener_ExpectedTagsRecorded(statusCode: 200, method: "GET") [FAIL]
  Microsoft.DotNet.RemoteExecutor.RemoteExecutionException : Remote process failed with an unhandled exception.
  Child exception:
    Xunit.Sdk.TrueException: traceparent was not injected when W3C instrumentation was enabled
  /_/src/libraries/System.Net.Http/tests/FunctionalTests/DiagnosticsTests.cs(1850,0): at System.Net.Http.Functional.Tests.DiagnosticsTest.AssertHeadersAreInjected(HttpRequestData request, Activity parent, Boolean passthrough, Boolean isW3C)
  /_/src/libraries/System.Net.Http/tests/FunctionalTests/DiagnosticsTests.cs(454,0): at System.Net.Http.Functional.Tests.DiagnosticsTest.<>c__DisplayClass12_0.<<SendAsync_DiagnosticListener_ExpectedTagsRecorded>b__6>d.MoveNext()
  /_/src/libraries/Common/tests/System/Threading/Tasks/TaskTimeoutExtensions.cs(90,0): at System.Threading.Tasks.TaskTimeoutExtensions.WhenAllOrAnyFailed(Task[] tasks)
  /_/src/libraries/Common/tests/System/Net/Http/GenericLoopbackServer.cs(44,0): at System.Net.Test.Common.LoopbackServerFactory.<>c__DisplayClass6_0.<<CreateClientAndServerAsync>b__0>d.MoveNext()
  /_/src/libraries/Common/tests/System/Net/Http/Http3LoopbackServer.cs(115,0): at System.Net.Test.Common.Http3LoopbackServerFactory.CreateServerAsync(Func`3 funcAsync, Int32 millisecondsTimeout, GenericLoopbackOptions options)
  /_/src/libraries/System.Net.Http/tests/FunctionalTests/DiagnosticsTests.cs(438,0): at System.Net.Http.Functional.Tests.DiagnosticsTest.<>c.<<SendAsync_DiagnosticListener_ExpectedTagsRecorded>b__12_0>d.MoveNext()

In the same work item (console log), immediately before this failure:

System.Net.Http.Functional.Tests.HttpClientHandlerTest_Http3.StatusCodes_ReceiveSuccess(statusCode: Found, qpackEncode: True) [FAIL]
  Assert.Equal() Failure: Values differ
  Expected: Found
  Actual:   OK

This looks like cross-talk between two concurrently running HTTP/3 loopback servers. The StatusCodes_ReceiveSuccess client got the 200 OK that the diagnostics test's server sent. The diagnostics test's server, running in a RemoteExecutor child process, got a request without traceparent, which fits the StatusCodes_ReceiveSuccess client's request. This is a hypothesis and hasn't been confirmed.

Kusto (engsrvprod/engineeringdata, AzureDevOpsTests, last 90 days): traceparent was not injected appears only in the two builds above. Related but different: #136162 and #133842 (REQUEST_REJECTED retry race, fixed by #137064).

Error Message

{
  "ErrorMessage": [
    "SocketsHttpHandler_DiagnosticsTest_Http3.SendAsync_DiagnosticListener_ExpectedTagsRecorded",
    "Xunit.Sdk.TrueException: traceparent was not injected when W3C instrumentation was enabled"
  ],
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

[!NOTE]
This issue was drafted with AI assistance (GitHub Copilot).

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1673975
Error message validated: [SocketsHttpHandler_DiagnosticsTest_Http3.SendAsync_DiagnosticListener_ExpectedTagsRecorded Xunit.Sdk.TrueException: traceparent was not injected when W3C instrumentation was enabled]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 11/11/2026 4:21:49 PM UTC

Report
Build Repository Test Pull Request
1673975 dotnet/runtime System.Net.Http.Functional.Tests.HttpClientHandlerTest_Http3.StatusCodes_ReceiveSuccess dotnet/runtime#137292
Summary
24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 1
Ngôn ngữ chính
C#
Star
18.4k
Fork
5.8k
Merge trung bình
2 ngày 19 giờ
Pull request đã merge (30 ngày)
590

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dotnet/runtime

Tất cả issue của dotnet/runtime

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.