Skip to content

[mono] Many libraries tests failing due to The type initializer for 'DynamicDelegateLightup' threw an exception on tvos-arm64 #90494

Closed

Description

@ivanpovazan

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=371961

Affected pipelines:

  • runtime-extra-platforms

Build error legs:

  • net8.0-tvos-Release-arm64-Mono_Release-OSX.13.Amd64.AppleTV.Open

Work items failing:

  • Microsoft.Extensions.DependencyModel.Tests
  • System.ComponentModel.Composition.Registration.Tests
  • System.Composition.Convention.Tests
  • System.Composition.Hosting.Tests
  • System.Composition.TypedParts.Tests
  • System.Linq.Queryable.Tests
  • System.Linq.Tests
  • System.Numerics.Vectors.Tests
  • System.Private.Xml.Tests
  • System.Text.Json.Tests
  • System.Xml.XmlSerializer.ReflectionOnly.Tests

Crash log example:

[FAIL] System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte   Test name: System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte
[11:51:46.1955960] 2023-08-12 08:51:46.267 System.Numerics.Vectors.Tests[64278:31862777]    Assembly:  [System.Numerics.Vectors.Tests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]
[11:51:46.1956340]    Exception messages: System.TypeInitializationException : The type initializer for 'DynamicDelegateLightup' threw an exception.
[11:51:46.1957100] 2023-08-12 08:51:46.267 System.Numerics.Vectors.Tests[64278:31862777] ---- System.NullReferenceException : Object reference not set to an instance of an object   Exception stack traces:    at System.Linq.Expressions.Interpreter.LightLambda.MakeDelegate(Type delegateType)
[11:51:46.1957300]    at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate(IStrongBox[] closure)
[11:51:46.1957360] 2023-08-12 08:51:46.267 System.Numerics.Vectors.Tests[64278:31862777]    at System.Linq.Expressions.Interpreter.LightDelegateCreator.CreateDelegate()
[11:51:46.1957930] 2023-08-12 08:51:46.267 System.Numerics.Vectors.Tests[64278:31862777]    at System.Linq.Expressions.Expression`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Compile()
[11:51:46.1959270] 2023-08-12 08:51:46.268 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].CreateCustomNoMatchDelegate(MethodInfo invoke)
[11:51:46.1960510] 2023-08-12 08:51:46.268 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MakeUpdateDelegate()
[11:51:46.1960900] 2023-08-12 08:51:46.268 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetUpdateDelegate(Func`3& addr)
[11:51:46.1964690] 2023-08-12 08:51:46.268 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetUpdateDelegate()
[11:51:46.1982050] 2023-08-12 08:51:46.270 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(CallSiteBinder binder)
[11:51:46.1982950] 2023-08-12 08:51:46.270 System.Numerics.Vectors.Tests[64278:31862777]    at System.Runtime.CompilerServices.CallSite`1[[System.Func`3[[System.Runtime.CompilerServices.CallSite, System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Object, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Create(CallSiteBinder binder)
[11:51:46.1983030]    at System.Numerics.Tests.Util.GenerateSingleValue[Int32](Int32 min, Int32 max)
[11:51:46.1983600] 2023-08-12 08:51:46.270 System.Numerics.Vectors.Tests[64278:31862777]    at System.Numerics.Tests.GenericVectorTests.TestCopyToWithOffset[SByte]()
[11:51:46.1983670]    at System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte()
[11:51:46.1983720]    at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
[11:51:46.1984460] 2023-08-12 08:51:46.270 System.Numerics.Vectors.Tests[64278:31862777]    at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
[11:51:46.1984660] ----- Inner Stack Trace -----
[11:51:46.1984720]    at System.Dynamic.Utils.DelegateHelpers.DynamicDelegateLightup.CreateObjectArrayDelegateInternal()
[11:51:46.1985120] 2023-08-12 08:51:46.270 System.Numerics.Vectors.Tests[64278:31862777]    at System.Dynamic.Utils.DelegateHelpers.DynamicDelegateLightup..cctor()
[11:51:46.1985240]    Execution time: 0.0709817
[11:51:46.2161210] 2023-08-12 08:51:46.287 System.Numerics.Vectors.Tests[64278:31862777]    Test name: System.Numerics.Tests.GenericVectorTests.LessThanAllInt16
[11:51:46.2161580] 2023-08-12 08:51:46.287 System.Numerics.Vectors.Tests[64278:31862777]    Exception messages: System.TypeInitializationException : The type initializer for 'DynamicDelegateLightup' threw an exception.

Pull request: #90023

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "The type initializer for 'DynamicDelegateLightup' threw an exception",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=371961
Error message validated: The type initializer for 'DynamicDelegateLightup' threw an exception
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 8/13/2023 7:26:42 PM UTC

Report

Build Definition Test Pull Request
372647 dotnet/runtime System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte #90421
372587 dotnet/runtime System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte #90515
372550 dotnet/runtime System.Linq.Tests.CountTests.Empty
372445 dotnet/runtime System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte #90270
372307 dotnet/runtime System.Linq.Tests.LegacyTests.SelectManyTests.ResultsSelectedIndexUsed
372186 dotnet/runtime System.Linq.Tests.SkipTests.Skip
372071 dotnet/runtime System.Numerics.Tests.GenericVectorTests.CopyToWithOffsetSByte
371961 dotnet/runtime System.Linq.Tests.AverageTests.MultipleNullableFloatSource #90023

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
4 8 8

Activity

  1. added
    blocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    on Aug 13, 2023
  2. added this to the 8.0.0 milestone on Aug 13, 2023
  3. ghost added
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Aug 13, 2023
  4. ivanpovazan commented on Aug 13, 2023

    @ivanpovazan
    MemberAuthor

    /cc: @premun I assume this is the reason for the spike you reported at: #90023 (comment)
    in any case, that PR seems to be stable now

  5. ivanpovazan commented on Aug 13, 2023

    @ivanpovazan
    MemberAuthor

    Some more information:
    The failures - ~ 1600 failing tests were first observed in build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=371518&view=results
    which suggests that the regression could have been introduced in the following range: https://github.com/dotnet/runtime/compare/34b6db9..2d9acc6f789b7ed098c251151c609eb68f21f68c

  6. self-assigned this
    on Aug 13, 2023
  7. removed
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Aug 13, 2023
  8. ivanpovazan commented on Aug 13, 2023

    @ivanpovazan
    MemberAuthor

    This regression seems to be introduced with: #88723

    That PR changed the way System.Linq.Expressions.dll is built by disabling constant propagation during library build time. As a consequence, the library is now shipped with System.Dynamic.Utils.DelegateHelpers.DynamicDelegateLightup type which is always trimmed away during app deployment (trimming is always on for ios/tvos devices).

    However, since we do not enable trimming for libraries tests, the type is preserved and Mono throws during its initialization.

    What is left unanswered is, why we started seeing this recently and not when the change was made.

  9. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 14, 2023
  10. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 14, 2023
  11. ghost locked as resolved and limited conversation to collaborators on Sep 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions