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

Aperta
#137,357 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
C#
Stelle
18.4k
Fork
5.8k
Merge medio
2g 19h
PR unite (30g)
590

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dotnet/runtime

Tutte le issue di dotnet/runtime

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.