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

Slic_send_pings_are_called failure with Slow VMs #4098

Closed
pepone opened this issue Nov 14, 2024 · 5 comments
Closed

Slic_send_pings_are_called failure with Slow VMs #4098

pepone opened this issue Nov 14, 2024 · 5 comments
Labels
bug Something isn't working
Milestone

Comments

@pepone
Copy link
Member

pepone commented Nov 14, 2024

  IceRpc.Tests test net8.0 failed with 1 error(s) (28.1s)
    C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests\Transports\Slic\SlicIdleTimeoutTests.cs(77): error TESTERROR:
      IceRpc:Tests:Transports:Slic:SlicIdleTimeoutTests:Slic_send_pings_are_called (717ms): Error Message:   Assert.That(TimeSpan.FromMillisecon      ds(Environment.TickCount64) - startTime, Is.LessThan(TimeSpan.FromMilliseconds(500)))
        Expected: less than 00:00:00.5000000
        But was:  00:00:00.6090000

      Stack Trace:
         at IceRpc.Tests.Transports.Slic.SlicIdleTimeoutTests.Slic_send_pings_are_called() in C:\Users\jose\source\repos\icerpc-csharp\tests\Ice      Rpc.Tests\Transports\Slic\SlicIdleTimeoutTests.cs:line 77
         at IceRpc.Tests.Transports.Slic.SlicIdleTimeoutTests.Slic_send_pings_are_called() in C:\Users\jose\source\repos\icerpc-csharp\tests\Ice      Rpc.Tests\Transports\Slic\SlicIdleTimeoutTests.cs:line 77
         at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
         at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
         at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](Func`1 invoke)
         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.Execution.SimpleWorkItem.<>c__DisplayClass3_0.<PerformWork>b__0()
         at NUnit.Framework.Internal.ContextUtils.<>c__DisplayClass1_0`1.<DoIsolated>b__0(Object _)
@pepone pepone added the bug Something isn't working label Nov 14, 2024
@pepone pepone added this to the 0.4.1 milestone Nov 14, 2024
@pepone
Copy link
Member Author

pepone commented Nov 14, 2024

I just got this once, difficult to reproduce even on a Slow VM. The failure just show that the timer took a bit more than expected 609 ms instead of less than 500 ms maybe we should just relax this a bit.

@pepone
Copy link
Member Author

pepone commented Nov 14, 2024

another failure

  IceRpc.Tests test net9.0 failed with 1 error(s) (4.3s)
    C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests\Transports\Slic\SlicIdleTimeoutTests.cs(77): error TESTERROR:
      IceRpc:Tests:Transports:Slic:SlicIdleTimeoutTests:Slic_send_pings_are_called (806ms): Error Message:   Assert.That(TimeSpan.FromMilliseconds(Environment.TickCount64) - startTime, Is.
      LessThan(TimeSpan.FromMilliseconds(500)))
        Expected: less than 00:00:00.5000000
        But was:  00:00:00.5320000

      Stack Trace:
         at IceRpc.Tests.Transports.Slic.SlicIdleTimeoutTests.Slic_send_pings_are_called() in C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests\Transports\Slic\SlicIdleTimeoutTes
      ts.cs:line 77
         at IceRpc.Tests.Transports.Slic.SlicIdleTimeoutTests.Slic_send_pings_are_called() in C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests\Transports\Slic\SlicIdleTimeoutTes
      ts.cs:line 77
         at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
         at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
         at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](Func`1 invoke)
         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.Execution.SimpleWorkItem.<>c__DisplayClass3_0.<PerformWork>b__0()
         at NUnit.Framework.Internal.ContextUtils.<>c__DisplayClass1_0`1.<DoIsolated>b__0(Object _)

      1)    at IceRpc.Tests.Transports.Slic.SlicIdleTimeoutTests.Slic_send_pings_are_called() in C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests\Transports\Slic\SlicIdleTimeout
      Tests.cs:line 77
  IceRpc.Tests test net8.0 succeeded (4.1s)

Test summary: total: 2, failed: 1, succeeded: 1, skipped: 0, duration: 4.3s
Build failed with 1 error(s) in 6.2s
PS C:\Users\jose\source\repos\icerpc-csharp\tests\IceRpc.Tests>

Running in a loop with powershell

 do { dotnet test --no-build --filter FullyQualifiedName~Slic_send_pings_are_called } until ($LASTEXITCODE -ne 0)

@pepone
Copy link
Member Author

pepone commented Nov 14, 2024

Adding [NonParallelizable] seems to fix this one. We can do that or increase the timeout a bit.

@externl
Copy link
Member

externl commented Nov 14, 2024

My thinking is that [NonParallelizable] makes the most sense for tests that are timing dependent. I think it would be better than bumping the timeout.

@pepone
Copy link
Member Author

pepone commented Nov 14, 2024

Fixed in #4105

@pepone pepone closed this as completed Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants