Skip to content

Some JSON test suites crash in ConsumeStringAndValidate on Red Hat CI machines #41582

@tmds

Description

@tmds

We do a daily build+test run of dotnet/runtime on Fedora 32 and RHEL8. Since Aug 6th, a number of tests are crashing in ConsumeStringAndValidate

  • Microsoft.Extensions.Configuration.Json.Tests
  • Microsoft.Extensions.Configuration.Functional.Tests
  • Microsoft.Extensions.DependencyModel.Tests
  • System.Net.Http.Json.Unit.Tests
  • System.Net.Http.Json.Functional.Tests
  • System.Text.Json.Tests

Example stack trace:

~/runtime/artifacts/bin/Microsoft.Extensions.Configuration.Json.Tests/net5.0-Debug ~/runtime/src/libraries/Microsoft.Extensions.Configuration.Json/tests
  �[37m  Discovering: Microsoft.Extensions.Configuration.Json.Tests (method display = ClassAndMethod, method display options = None)
  �[m�[37m  Discovered:  Microsoft.Extensions.Configuration.Json.Tests (found 41 test cases)
  �[m�[37m  Starting:    Microsoft.Extensions.Configuration.Json.Tests (parallel test collections = on, max threads = 4)
  Process terminated. Assertion failed.
     at System.Text.Json.Utf8JsonReader.ConsumeStringAndValidate(ReadOnlySpan`1 data, Int32 idx) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs:line 1316
     at System.Text.Json.Utf8JsonReader.ConsumeString() in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs:line 1295
     at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs:line 1038
     at System.Text.Json.Utf8JsonReader.ReadSingleSegment() in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs:line 881
     at System.Text.Json.Utf8JsonReader.Read() in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs:line 275
     at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, JsonReaderOptions readerOptions, MetadataDb& database, StackRowStack& stack) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.cs:line 943
     at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedBytes) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs:line 549
     at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 json, JsonDocumentOptions options) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs:line 214
     at System.Text.Json.JsonDocument.Parse(String json, JsonDocumentOptions options) in /home/tester/runtime/src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.Parse.cs:line 246
     at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.ParseStream(Stream input) in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs:line 34
     at Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser.Parse(Stream input) in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationFileParser.cs:line 21
     at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream) in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration.Json/src/JsonConfigurationProvider.cs:line 30
     at Microsoft.Extensions.Configuration.ConfigurationProviderJsonTest.<>c__DisplayClass1_0.<LoadThroughProvider>b__0() in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration.Json/tests/ConfigurationProviderJsonTest.cs:line 34
     at Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase.BuildConfigRoot(ValueTuple`2[] providers) in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration/tests/ConfigurationProviderTestBase.cs:line 335
     at Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase.Has_debug_view() in /home/tester/runtime/src/libraries/Microsoft.Extensions.Configuration/tests/ConfigurationProviderTestBase.cs:line 25
     at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
     at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) in /home/tester/runtime/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs:line 49
     at Xunit.Sdk.TestInvoker`1.CallTestMethod(Object testClassInstance) in C:\Dev\xunit\xunit\src\xunit.execution\Sdk\Frameworks\Runners\TestInvoker.cs:line 150
     at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_1.<<InvokeTestMethodAsync>b__1>d.MoveNext() in C:\Dev\xunit\xunit\src\xunit.execution\Sdk\Frameworks\Runners\TestInvoker.cs:line 257
     at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /home/tester/runtime/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 42
     at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_1.<InvokeTestMethodAsync>b__1()
...

When I run on my development machine, the tests pass without crashing.

cc @omajid @RheaAyase

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions