dotnet / dotnet/yarp

`MultiValueResponseHeaders` failure

Open
#1,887 1 comment 0 reactions 0 assignees View on GitHub
Type: Bug
Dominant language
C#
Stars
9.6k
Forks
933
Avg merge
12d 18h
Merged PRs (30d)
2

Description

I haven't been able to repro this locally, but it failed on macOS in CI at least once [here](https://dev.azure.com/dnceng-public/public/_build/results?buildId=41032&view=ms.vss-test-web.build-test-results-tab&runId=826262&resultId=100099&paneView=debug).

Case: `Yarp.ReverseProxy.HeaderTests.MultiValueResponseHeaders(headerName: \"Allow\", values: [\"testA=A_Value, testB=B_Value, testC=C_Value\"], expectedValues: [\"testA=A_Value, testB=B_Value, testC=C_Value\"])`

The failure is propagated through the unhandledError capture, so really this is where it's failing:
https://github.com/microsoft/reverse-proxy/blob/5a86eb4f18474bbe2f9e73f8457f4cbf13c00b81/test/ReverseProxy.FunctionalTests/HeaderTests.cs#L646

```
Assert.Null() Failure\nExpected: (null)\nActual: Xunit.Sdk.TrueException: Assert.True() Failure\n Expected: True\n Actual: False\n at Xunit.Assert.True(Nullable1 condition, String userMessage) in /_/src/xunit.assert/Asserts/BooleanAsserts.cs:line 132\n at Yarp.ReverseProxy.HeaderTests.<>c__DisplayClass11_0.<b__4>d.MoveNext() in /_/test/ReverseProxy.FunctionalTests/HeaderTests.cs:line 646\n --- End of stack trace from previous location ---\n at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication1 application)
```

```c#
Stack trace
at Yarp.ReverseProxy.HeaderTests.<>c__DisplayClass11_0.<b__3>d.MoveNext() in /_/test/ReverseProxy.FunctionalTests/HeaderTests.cs:line 679
--- End of stack trace from previous location ---
at Yarp.ReverseProxy.HeaderTests.<>c__DisplayClass11_0.<b__3>d.MoveNext() in /_/test/ReverseProxy.FunctionalTests/HeaderTests.cs:line 683
--- End of stack trace from previous location ---
at Yarp.ReverseProxy.Common.TestEnvironment.Invoke(Func`2 clientFunc, CancellationToken cancellationToken) in /_/test/ReverseProxy.FunctionalTests/Common/TestEnvironment.cs:line 89
at Yarp.ReverseProxy.Common.TestEnvironment.Invoke(Func`2 clientFunc, CancellationToken cancellationToken) in /_/test/ReverseProxy.FunctionalTests/Common/TestEnvironment.cs:line 94
at Yarp.ReverseProxy.HeaderTests.MultiValueResponseHeaders(String headerName, String[] values, String[] expectedValues) in /_/test/ReverseProxy.FunctionalTests/HeaderTests.cs:line 664
--- End of stack trace from previous location ---
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.