Skip to content

Quarantined Http3RequestTests.POST_Expect100Continue_Get100Continue #57373

Open
@amcasey

Description

@amcasey

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    HTTP3area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionstest-failure

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions