icerpc / icerpc-csharp

A C# RPC framework built for QUIC, with bidirectional streaming, first-class async/await, and Protobuf support.
https://docs.icerpc.dev
Apache License 2.0
107 stars 13 forks source link

shutdown can be canceled failure #3731

Closed pepone closed 12 months ago

pepone commented 1 year ago
  Failed IceRpc:Tests:ClientConnectionTests:Shutdown_can_be_canceled [8 s]
  Stack Trace:

+++ Unobserved task exception System.Threading.Tasks.Task`1[NUnit.Framework.Internal.TestResult]:
System.Exception: The operation Write was not called.
   at IceRpc.Tests.ClientConnectionTests.Shutdown_can_be_canceled() in /home/jose/icerpc-csharp/tests/IceRpc.Tests/ClientConnectionTests.cs:line 382
   at IceRpc.Tests.ClientConnectionTests.Shutdown_can_be_canceled() in /home/jose/icerpc-csharp/tests/IceRpc.Tests/ClientConnectionTests.cs:line 387
   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)
pepone commented 12 months ago

cannot reproduce, the exception indicates the write method was not called. It might be related to previous issues with running too many workers.