Skip to content

Quarantined Http3RequestTests.POST_Expect100Continue_Get100Continue #57373

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
amcasey opened this issue Aug 16, 2024 · 0 comments
Open

Quarantined Http3RequestTests.POST_Expect100Continue_Get100Continue #57373

amcasey opened this issue Aug 16, 2024 · 0 comments
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3 test-failure

Comments

@amcasey
Copy link
Member

amcasey commented Aug 16, 2024

Failing Test(s)

  • Interop.FunctionalTests.Http3.Http3RequestTests.POST_Expect100Continue_Get100Continue

Error Message

System.Net.Http.HttpRequestException : An error occurred while sending the request.
---- System.Net.Http.HttpProtocolException : The HTTP/3 server reset the stream. HTTP/3 error code 'H3_NO_ERROR' (0x100). (HttpProtocolError)
-------- System.Net.Quic.QuicException : Stream aborted by peer (256).

Stacktrace

   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)
   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)
   at System.Net.Http.Http3Connection.SendAsync(HttpRequestMessage request, Int64 queueStartingTimestamp, Activity waitForConnectionActivity, CancellationToken cancellationToken)
   at System.Net.Http.Http3Connection.SendAsync(HttpRequestMessage request, Int64 queueStartingTimestamp, Activity waitForConnectionActivity, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.TrySendUsingHttp3Async(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.InternalTesting.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber)
   at Interop.FunctionalTests.Http3.Http3RequestTests.POST_Expect100Continue_Get100Continue() in /_/src/Servers/Kestrel/test/Interop.FunctionalTests/Http3/Http3RequestTests.cs:line 733
--- End of stack trace from previous location ---
----- Inner Stack Trace -----

----- Inner Stack Trace -----
   at System.Net.Quic.ResettableValueTaskSource.TryComplete(Exception exception, Boolean final)
   at System.Net.Quic.QuicStream.HandleEventPeerReceiveAborted(_PEER_RECEIVE_ABORTED_e__Struct& data)
   at System.Net.Quic.QuicStream.HandleStreamEvent(QUIC_STREAM_EVENT& streamEvent)
   at System.Net.Quic.QuicStream.NativeCallback(QUIC_HANDLE* stream, Void* context, QUIC_STREAM_EVENT* streamEvent)
--- End of stack trace from previous location ---
   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)

Logs

[0.001s] [TestLifetime] [Information] Starting test POST_Expect100Continue_Get100Continue at 2024-08-12T01:06:41
[0.002s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting starting
[0.018s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] QUIC listener starting with configured endpoint 127.0.0.1:0.
[0.019s] [Microsoft.Hosting.Lifetime] [Information] Now listening on: https://127.0.0.1:52282
[0.019s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Debug] Loaded hosting startup assembly Interop.FunctionalTests
[0.019s] [Microsoft.Hosting.Lifetime] [Information] Application started. Press Ctrl+C to shut down.
[0.019s] [Microsoft.Hosting.Lifetime] [Information] Hosting environment: Production
[0.019s] [Microsoft.Hosting.Lifetime] [Information] Content root path: /root/helix/work/workitem/e/
[0.019s] [Microsoft.Extensions.Hosting.Internal.Host] [Debug] Hosting started
[0.023s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Connection id "0HN5QDC1I4NVL" accepted.
[0.023s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN5QDC1I4NVL" accepted.
[0.024s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN5QDC1I4NVL" started.
[0.024s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000003" type Unidirectional connected.
[0.024s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000002" type Unidirectional accepted.
[0.025s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000000" type Bidirectional accepted.
[0.025s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" received SETTINGS frame for stream ID 2 with length 5.
[0.025s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" received HEADERS frame for stream ID 0 with length 74.
[0.026s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request starting HTTP/3 POST https://127.0.0.1:52282/ - text/plain; charset=utf-8 11
[0.026s] [Microsoft.AspNetCore.Server.Kestrel] [Debug] Connection id "0HN5QDC1I4NVL", Request id "0HN5QDC1I4NVL:00000000": started reading request body.
[0.027s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" sending HEADERS frame for stream ID 0 with length 4.
[0.028s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" received DATA frame for stream ID 0 with length 11.
[0.028s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" sending HEADERS frame for stream ID 0 with length 44.
[0.028s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" sending DATA frame for stream ID 0 with length 11.
[0.029s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000000" shutting down writes because: "The QUIC transport's send loop completed gracefully.".
[0.029s] [Microsoft.AspNetCore.Hosting.Diagnostics] [Information] Request finished HTTP/3 POST https://127.0.0.1:52282/ - 200 null null 2.933ms
[0.029s] [Microsoft.AspNetCore.Server.Kestrel] [Debug] Connection id "0HN5QDC1I4NVL", Request id "0HN5QDC1I4NVL:00000000": done reading request body.
[0.029s] [Microsoft.AspNetCore.Server.Kestrel] [Information] Connection id "0HN5QDC1I4NVL", Request id "0HN5QDC1I4NVL:00000000": the application completed without reading the entire request body.
[0.029s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000000" read side aborted by application with error code 256 because: "The application completed without reading the entire request body.".
[0.034s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Connection id "0HN5QDC1I4NVL" aborted by peer with error code 256.
System.Net.Quic.QuicException: Connection aborted by peer (256).
   at System.Net.Quic.QuicConnection.HandleEventShutdownInitiatedByPeer(_SHUTDOWN_INITIATED_BY_PEER_e__Struct& data)
   at System.Net.Quic.QuicConnection.HandleConnectionEvent(QUIC_CONNECTION_EVENT& connectionEvent)
   at System.Net.Quic.QuicConnection.NativeCallback(QUIC_HANDLE* connection, Void* context, QUIC_CONNECTION_EVENT* connectionEvent)
--- End of stack trace from previous location ---
   at System.Net.Quic.QuicConnection.AcceptInboundStreamAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionContext.AcceptAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionContext.cs:line 97
[0.034s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Debug] Trace id "0HN5QDC1I4NVL:00000002": HTTP/3 stream error "H3_NO_ERROR". An abort is being sent to the stream.
Microsoft.AspNetCore.Connections.ConnectionAbortedException: The client closed the connection.
 ---> Microsoft.AspNetCore.Connections.ConnectionResetException: Connection aborted by peer (256).
 ---> System.Net.Quic.QuicException: Connection aborted by peer (256).
   at System.Net.Quic.QuicConnection.HandleEventShutdownInitiatedByPeer(_SHUTDOWN_INITIATED_BY_PEER_e__Struct& data)
   at System.Net.Quic.QuicConnection.HandleConnectionEvent(QUIC_CONNECTION_EVENT& connectionEvent)
   at System.Net.Quic.QuicConnection.NativeCallback(QUIC_HANDLE* connection, Void* context, QUIC_CONNECTION_EVENT* connectionEvent)
--- End of stack trace from previous location ---
   at System.Net.Quic.QuicConnection.AcceptInboundStreamAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionContext.AcceptAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionContext.cs:line 97
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionContext.AcceptAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionContext.cs:line 145
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http3.Http3Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application) in /_/src/Servers/Kestrel/Core/src/Internal/Http3/Http3Connection.cs:line 360
   --- End of inner exception stack trace ---
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000002" aborted by application with error code 256 because: "The client closed the connection.".
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Debug] Connection id "0HN5QDC1I4NVL": GOAWAY stream ID 4.
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Verbose] Connection id "0HN5QDC1I4NVL" sending GOAWAY frame for stream ID 3 with length 1.
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000003" write aborted by peer with error code 256.
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000003" shutting down writes because: "Connection aborted by peer (256).".
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Connection id "0HN5QDC1I4NVL" aborted by application with error code 256 because: "The client closed the connection.".
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Http3] [Debug] Connection id "0HN5QDC1I4NVL" is closed. The last processed stream ID was 0.
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Connections] [Debug] Connection id "0HN5QDC1I4NVL" stopped.
[0.035s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] Stream id "0HN5QDC1I4NVL:00000002" read aborted by peer with error code 256.
[0.037s] [Microsoft.AspNetCore.Server.Kestrel.Transport.Quic] [Debug] QUIC listener aborted.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Quic.QuicListener'.
   at System.Net.Quic.QuicListener.DisposeAsync()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at System.Net.Quic.QuicListener.DisposeAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionListener.DisposeAsync() in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionListener.cs:line 211
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionListener.DisposeAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionListener.UnbindAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionListener.cs:line 200
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.GenericMultiplexedConnectionListener.UnbindAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Core/src/Internal/Infrastructure/TransportManager.cs:line 233
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.ActiveTransport.UnbindAsync(CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.StopTransportsAsync(List`1 transportsToStop, CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Core/src/Internal/Infrastructure/TransportManager.cs:line 131
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StopAsync(CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs:line 259
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StopAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.Dispose() in /_/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs:line 283
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.DisposeAsync()
   at Microsoft.Extensions.Hosting.Internal.Host.DisposeAsync()
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.Extensions.Hosting.Internal.Host.DisposeAsync()
   at Microsoft.Extensions.Hosting.Internal.Host.Dispose()
   at Interop.FunctionalTests.Http3.Http3RequestTests.POST_Expect100Continue_Get100Continue() in /_/src/Servers/Kestrel/test/Interop.FunctionalTests/Http3/Http3RequestTests.cs:line 733
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at Xunit.Sdk.AsyncTestSyncContext.<>c__DisplayClass7_0.<Post>b__0() in /_/src/xunit.execution/Sdk/AsyncTestSyncContext.cs:line 58
   at Xunit.Sdk.XunitWorkerThread.<>c.<QueueUserWorkItem>b__5_0(Object _) in /_/src/common/XunitWorkerThread.cs:line 37
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at System.Net.Quic.QuicListener.AcceptConnectionAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Internal.QuicConnectionListener.AcceptAsync(IFeatureCollection features, CancellationToken cancellationToken) in /_/src/Servers/Kestrel/Transport.Quic/src/Internal/QuicConnectionListener.cs:line 157
[0.041s] [Interop.FunctionalTests.Http3.Http3RequestTests] [Error] Test threw an exception.
System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.Net.Http.HttpProtocolException: The HTTP/3 server reset the stream. HTTP/3 error code 'H3_NO_ERROR' (0x100). (HttpProtocolError)
 ---> System.Net.Quic.QuicException: Stream aborted by peer (256).
   at System.Net.Quic.ResettableValueTaskSource.TryComplete(Exception exception, Boolean final)
   at System.Net.Quic.QuicStream.HandleEventPeerReceiveAborted(_PEER_RECEIVE_ABORTED_e__Struct& data)
   at System.Net.Quic.QuicStream.HandleStreamEvent(QUIC_STREAM_EVENT& streamEvent)
   at System.Net.Quic.QuicStream.NativeCallback(QUIC_HANDLE* stream, Void* context, QUIC_STREAM_EVENT* streamEvent)
--- End of stack trace from previous location ---
   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)
   at System.Net.Http.Http3RequestStream.SendAsync(CancellationToken cancellationToken)
   at System.Net.Http.Http3Connection.SendAsync(HttpRequestMessage request, Int64 queueStartingTimestamp, Activity waitForConnectionActivity, CancellationToken cancellationToken)
   at System.Net.Http.Http3Connection.SendAsync(HttpRequestMessage request, Int64 queueStartingTimestamp, Activity waitForConnectionActivity, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.TrySendUsingHttp3Async(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.InternalTesting.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber)
   at Interop.FunctionalTests.Http3.Http3RequestTests.POST_Expect100Continue_Get100Continue() in /_/src/Servers/Kestrel/test/Interop.FunctionalTests/Http3/Http3RequestTests.cs:line 733
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_0.<<InvokeTestMethodAsync>b__1>d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 264
--- End of stack trace from previous location ---
   at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction) in /_/src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:line 48
   at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code) in /_/src/xunit.core/Sdk/ExceptionAggregator.cs:line 90
[0.041s] [TestLifetime] [Information] Finished test POST_Expect100Continue_Get100Continue in 0.0408741s

Build

Sample: https://dev.azure.com/dnceng-public/public/_build/results?buildId=772336

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions label Aug 16, 2024
amcasey added a commit to amcasey/aspnetcore that referenced this issue Aug 16, 2024
@amcasey amcasey added the HTTP3 label Aug 21, 2024
radical added a commit to radical/aspnetcore that referenced this issue Aug 26, 2024
@radical radical changed the title Retry Http3RequestTests.POST_Expect100Continue_Get100Continue Quarantined Http3RequestTests.POST_Expect100Continue_Get100Continue Aug 26, 2024
radical added a commit that referenced this issue Aug 27, 2024
…57533)

* Quarantine Http3RequestTests.POST_Expect100Continue_Get100Continue

This failed even with helix retries.

Issue: #57373

* Add retry for `FunctionalTests.NewShimTests.CheckNewShimIsUsed`

`Microsoft.AspNetCore.Server.IIS.NewShim.FunctionalTests.NewShimTests.CheckNewShimIsUsed`

Issue: #57538
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions HTTP3 test-failure
Projects
None yet
Development

No branches or pull requests

1 participant