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

Abierto
#137,357 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
C#
Estrellas
18.4k
Forks
5.8k
Merge medio
2 d 19 h
PR fusionados (30 d)
590

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/runtime

Todos los issues de dotnet/runtime

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.