You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2023/11/27 06:56:00 UTC

[jira] [Updated] (IGNITE-20967) .NET: Thin 3.0: TestMicrosoftConsoleLogger is flaky

     [ https://issues.apache.org/jira/browse/IGNITE-20967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Tupitsyn updated IGNITE-20967:
------------------------------------
    Description: 
Thread safety issues lead to occasional exceptions:

{code}
System.ArgumentOutOfRangeException : Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'chunkLength')
   at System.Text.StringBuilder.ToString()
   at Apache.Ignite.Tests.LoggingTests.TestMicrosoftConsoleLogger() in /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite.Tests/LoggingTests.cs:line 87
   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.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at NUnit.Framework.Internal.Commands.TimeoutCommand.Execute(TestExecutionContext context)
{code}

We should synchronize the access to the underlying StringBuilder.

https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunNetTests/7656452?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildTestsSection=true

> .NET: Thin 3.0: TestMicrosoftConsoleLogger is flaky
> ---------------------------------------------------
>
>                 Key: IGNITE-20967
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20967
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms, thin client
>    Affects Versions: 3.0.0-beta1
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Thread safety issues lead to occasional exceptions:
> {code}
> System.ArgumentOutOfRangeException : Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'chunkLength')
>    at System.Text.StringBuilder.ToString()
>    at Apache.Ignite.Tests.LoggingTests.TestMicrosoftConsoleLogger() in /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite.Tests/LoggingTests.cs:line 87
>    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.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
> --- End of stack trace from previous location ---
>    at NUnit.Framework.Internal.Commands.TimeoutCommand.Execute(TestExecutionContext context)
> {code}
> We should synchronize the access to the underlying StringBuilder.
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunNetTests/7656452?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildTestsSection=true



--
This message was sent by Atlassian Jira
(v8.20.10#820010)