dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.98k stars 4.66k forks source link

thdlist test crashes with ArgumentNullException on mono llvmaot #71041

Open MichalStrehovsky opened 2 years ago

MichalStrehovsky commented 2 years ago

Hit in the "mono llvmaot Pri0 Runtime Tests Run Linux x64 release" leg of PR #70977.

Link to the run: https://dev.azure.com/dnceng/public/_build/results?buildId=1835642&view=logs&jobId=e8cc9eb8-98f1-55f3-b6df-6c384ccb39b6

    GC/Scenarios/THDList/thdlist/thdlist.sh [FAIL]

      Unhandled Exception:
      System.ArgumentNullException: Value cannot be null. (Parameter 'format')
         at System.ArgumentNullException.Throw(String paramName)
         at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
         at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
         at System.IO.StreamWriter.WriteFormatHelper(String format, ReadOnlySpan`1 args, Boolean appendNewLine)
         at System.IO.StreamWriter.WriteLine(String format, Object arg0)
         at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
         at System.Console.WriteLine(String format, Object arg0)
         at ThdList.LinkedList.Empty(Int32 ThreadId)
         at ThdList.LLThread.ThreadStart()
         at System.Threading.Thread.StartCallback()
      [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentNullException: Value cannot be null. (Parameter 'format')
         at System.ArgumentNullException.Throw(String paramName)
         at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
         at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
         at System.IO.StreamWriter.WriteFormatHelper(String format, ReadOnlySpan`1 args, Boolean appendNewLine)
         at System.IO.StreamWriter.WriteLine(String format, Object arg0)
         at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
         at System.Console.WriteLine(String format, Object arg0)
         at ThdList.LinkedList.Empty(Int32 ThreadId)
         at ThdList.LLThread.ThreadStart()
         at System.Threading.Thread.StartCallback()

      Return code:      1
      Raw output file:      /datadisks/disk1/work/B24509C8/w/B3FD09D7/uploads/Reports/GC.Scenarios/THDList/thdlist/thdlist.output.txt
      Raw output:
      BEGIN EXECUTION
      /datadisks/disk1/work/B24509C8/p/corerun -p System.Reflection.Metadata.MetadataUpdater.IsSupported=false thdlist.dll ''
      Test should return with ExitCode 100 ...
      Started Thread: 0
      Thread 0 Added 10000 Nodes
      Started Thread: 1
      Thread 1 Added 10000 Nodes
      Thread 1 Deleted 5000 Nodes
      Thread 0 Deleted 5000 Nodes
      Thread 1 Deleted 15000 Nodes
      Thread 1 Added 3000 Nodes
      Thread 1 Deleted 6000 Nodes
      Thread 0 Deleted 15000 Nodes
      Thread 0 Added 3000 Nodes
      Thread 0 Deleted 6000 Nodes
      Thread 1: List Empty
      Thread 1 Added 15000 Nodes
      Thread 1: List Empty
      Thread 1 Added 10000 Nodes
      Thread 1: List Empty
      Thread 1 Added 100 Nodes
      Thread 1 Added 100 Nodes
      Expected: 100
      Actual: 1
      END EXECUTION - FAILED
      Test Harness Exitcode is : 1
      To run the test:
      > set CORE_ROOT=/datadisks/disk1/work/B24509C8/p
      > /datadisks/disk1/work/B24509C8/w/B3FD09D7/e/GC/Scenarios/THDList/thdlist/thdlist.sh
      Expected: True
      Actual:   False
      Stack Trace:
           at GC_Scenarios._THDList_thdlist_thdlist_._THDList_thdlist_thdlist_sh()
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
           at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
      Output:

        Unhandled Exception:
        System.ArgumentNullException: Value cannot be null. (Parameter 'format')
           at System.ArgumentNullException.Throw(String paramName)
           at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
           at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
           at System.IO.StreamWriter.WriteFormatHelper(String format, ReadOnlySpan`1 args, Boolean appendNewLine)
           at System.IO.StreamWriter.WriteLine(String format, Object arg0)
           at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
           at System.Console.WriteLine(String format, Object arg0)
           at ThdList.LinkedList.Empty(Int32 ThreadId)
           at ThdList.LLThread.ThreadStart()
           at System.Threading.Thread.StartCallback()
        [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentNullException: Value cannot be null. (Parameter 'format')
           at System.ArgumentNullException.Throw(String paramName)
           at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
           at System.Text.ValueStringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ReadOnlySpan`1 args)
           at System.IO.StreamWriter.WriteFormatHelper(String format, ReadOnlySpan`1 args, Boolean appendNewLine)
           at System.IO.StreamWriter.WriteLine(String format, Object arg0)
           at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
           at System.Console.WriteLine(String format, Object arg0)
           at ThdList.LinkedList.Empty(Int32 ThreadId)
           at ThdList.LLThread.ThreadStart()
           at System.Threading.Thread.StartCallback()

        Return code:      1
        Raw output file:      /datadisks/disk1/work/B24509C8/w/B3FD09D7/uploads/Reports/GC.Scenarios/THDList/thdlist/thdlist.output.txt
        Raw output:
        BEGIN EXECUTION
        /datadisks/disk1/work/B24509C8/p/corerun -p System.Reflection.Metadata.MetadataUpdater.IsSupported=false thdlist.dll ''
        Test should return with ExitCode 100 ...
        Started Thread: 0
        Thread 0 Added 10000 Nodes
        Started Thread: 1
        Thread 1 Added 10000 Nodes
        Thread 1 Deleted 5000 Nodes
        Thread 0 Deleted 5000 Nodes
        Thread 1 Deleted 15000 Nodes
        Thread 1 Added 3000 Nodes
        Thread 1 Deleted 6000 Nodes
        Thread 0 Deleted 15000 Nodes
        Thread 0 Added 3000 Nodes
        Thread 0 Deleted 6000 Nodes
        Thread 1: List Empty
        Thread 1 Added 15000 Nodes
        Thread 1: List Empty
        Thread 1 Added 10000 Nodes
        Thread 1: List Empty
        Thread 1 Added 100 Nodes
        Thread 1 Added 100 Nodes
        Expected: 100
        Actual: 1
        END EXECUTION - FAILED
        Test Harness Exitcode is : 1
        To run the test:
        > set CORE_ROOT=/datadisks/disk1/work/B24509C8/p
        > /datadisks/disk1/work/B24509C8/w/B3FD09D7/e/GC/Scenarios/THDList/thdlist/thdlist.sh
steveisok commented 2 years ago

/cc @SamMonoRT

SamMonoRT commented 2 years ago

@naricc - please take a look, seems like a GC test.

karelz commented 2 years ago

I have no idea how often this happens. Is there a way to query Kusto or Runfo for the failure?

It does not seem to be common (at least not hitting Official runs - @tlakollo), so removing blocking-clean-ci label.

SamMonoRT commented 1 year ago

@BrzVlad - this seems like a GC test failure. Low priority.

BrzVlad commented 1 year ago

Wasn't able to reproduce, but apparently this is still a regular CI failure.