Skip to content
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

Dispose_server_connection_aborts_non_completed_incoming_request_stream failure with Quic #2694

Closed
bentoi opened this issue Feb 15, 2023 · 2 comments · Fixed by #2717
Closed
Assignees
Labels
bug Something isn't working quic test-suite
Milestone

Comments

@bentoi
Copy link
Contributor

bentoi commented Feb 15, 2023

  Failed IceRpc:Tests:IceRpcProtocolConnectionTests:Dispose_server_connection_aborts_non_completed_incoming_request_stream [135 ms]
  Error Message:
   IceRpc.IceRpcException : An IceRpc call failed with error 'TruncatedData'.
  ----> System.Net.Quic.QuicException : Stream aborted by peer (0).
  Stack Trace:
     at IceRpc.Transports.Internal.QuicPipeReader.ReadAsync(CancellationToken cancellationToken) in /home/vagrant/workspace/icerpc-csharp/src/IceRpc.Quic/Transports/Internal/QuicPipeReader.cs:line 52
   at IceRpc.Slice.Internal.PipeReaderExtensions.ReadSegmentAsync(PipeReader reader, SliceEncoding encoding, Int32 maxSize, CancellationToken cancellationToken) in /home/vagrant/workspace/icerpc-csharp/src/IceRpc/Slice/Internal/PipeReaderExtensions.cs:line 60
   at IceRpc.Internal.IceRpcProtocolConnection.<>c__DisplayClass37_0.<<InvokeAsync>g__PerformInvokeAsync|0>d.MoveNext() in /home/vagrant/workspace/icerpc-csharp/src/IceRpc/Internal/IceRpcProtocolConnection.cs:line 483
--- End of stack trace from previous location ---
   at IceRpc.Tests.IceRpcProtocolConnectionTests.Dispose_server_connection_aborts_non_completed_incoming_request_stream() in /home/vagrant/workspace/icerpc-csharp/tests/IceRpc.Tests/IceRpcProtocolConnectionTests.cs:line 111
   at IceRpc.Tests.IceRpcProtocolConnectionTests.Dispose_server_connection_aborts_non_completed_incoming_request_stream() in /home/vagrant/workspace/icerpc-csharp/tests/IceRpc.Tests/IceRpcProtocolConnectionTests.cs:line 123
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TimeoutCommand.<>c__DisplayClass5_0.<RunTestOnSeparateThread>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at NUnit.Framework.Internal.Commands.TimeoutCommand.Execute(TestExecutionContext context)
--QuicException
   at System.Net.Quic.ResettableValueTaskSource.TryComplete(Exception exception, Boolean final)
   at System.Net.Quic.QuicStream.HandleEventPeerSendAborted(_PEER_SEND_ABORTED_e__Struct& data)
   at System.Net.Quic.QuicStream.HandleStreamEvent(QUIC_STREAM_EVENT& streamEvent)
   at System.Net.Quic.QuicStream.NativeCallback(QUIC_HANDLE* connection, Void* context, QUIC_STREAM_EVENT* streamEvent)
--- End of stack trace from previous location ---
   at IceRpc.Transports.Internal.QuicPipeReader.<.ctor>g__ClosedAsync|13_0() in /home/vagrant/workspace/icerpc-csharp/src/IceRpc.Quic/Transports/Internal/QuicPipeReader.cs:line 76
   at System.Net.Quic.ResettableValueTaskSource.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Quic.QuicStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
   at System.IO.Pipelines.StreamPipeReader.<ReadAsync>g__Core|38_0(StreamPipeReader reader, CancellationTokenSource tokenSource, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at IceRpc.Transports.Internal.QuicPipeReader.ReadAsync(CancellationToken cancellationToken) in /home/vagrant/workspace/icerpc-csharp/src/IceRpc.Quic/Transports/Internal/QuicPipeReader.cs:line 48
@bentoi bentoi added bug Something isn't working test-suite quic labels Feb 15, 2023
@bentoi bentoi added this to the 0.1 milestone Feb 15, 2023
@bentoi
Copy link
Contributor Author

bentoi commented Feb 15, 2023

Probably same issue but with another test.

  Failed IceRpc:Tests:IceRpcProtocolConnectionTests:Invocation_cancellation_after_receive_response_doesnt_complete_the_incoming_request_payload [96 ms]
  Error Message:
   IceRpc.IceRpcException : An IceRpc call failed with error 'TruncatedData'.
  ----> System.Net.Quic.QuicException : Stream aborted by peer (0).
  Stack Trace:
     at IceRpc.Transports.Internal.QuicPipeReader.ReadAsync(CancellationToken cancellationToken) in /home/vagrant/workspace/icerpc-csharp/src/IceRpc.Quic/Transports/Internal/QuicPipeReader.cs:line 52
   at IceRpc.Slice.Internal.PipeReaderExtensions.ReadSegmentAsync(PipeReader reader, SliceEncoding encoding, Int32 maxSize, CancellationToken cancellationToken) in /home/vagrant/workspace/icerpc-csharp/src/IceRpc/Slice/Internal/PipeReaderExtensions.cs:line 60
   at IceRpc.Internal.IceRpcProtocolConnection.<>c__DisplayClass37_0.<<InvokeAsync>g__PerformInvokeAsync|0>d.MoveNext() in /home/vagrant/workspace/icerpc-csharp/src/IceRpc/Internal/IceRpcProtocolConnection.cs:line 483
--- End of stack trace from previous location ---
   at IceRpc.Tests.IceRpcProtocolConnectionTests.Invocation_cancellation_after_receive_response_doesnt_complete_the_incoming_request_payload() in /home/vagrant/workspace/icerpc-csharp/tests/IceRpc.Tests/IceRpcProtocolConnectionTests.cs:line 428
   at IceRpc.Tests.IceRpcProtocolConnectionTests.Invocation_cancellation_after_receive_response_doesnt_complete_the_incoming_request_payload() in /home/vagrant/workspace/icerpc-csharp/tests/IceRpc.Tests/IceRpcProtocolConnectionTests.cs:line 436
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TimeoutCommand.<>c__DisplayClass5_0.<RunTestOnSeparateThread>b__0()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at NUnit.Framework.Internal.Commands.TimeoutCommand.Execute(TestExecutionContext context)
--QuicException
   at System.Net.Quic.ResettableValueTaskSource.TryComplete(Exception exception, Boolean final)
   at System.Net.Quic.QuicStream.HandleEventPeerSendAborted(_PEER_SEND_ABORTED_e__Struct& data)
   at System.Net.Quic.QuicStream.HandleStreamEvent(QUIC_STREAM_EVENT& streamEvent)
   at System.Net.Quic.QuicStream.NativeCallback(QUIC_HANDLE* connection, Void* context, QUIC_STREAM_EVENT* streamEvent)
--- End of stack trace from previous location ---
   at IceRpc.Transports.Internal.QuicPipeReader.<.ctor>g__ClosedAsync|13_0() in /home/vagrant/workspace/icerpc-csharp/src/IceRpc.Quic/Transports/Internal/QuicPipeReader.cs:line 76

@bentoi bentoi self-assigned this Feb 24, 2023
@bentoi
Copy link
Contributor Author

bentoi commented Feb 27, 2023

Submitted quic issue: dotnet/runtime#82704

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working quic test-suite
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant