Skip to content

[mono] Tests System.IO.Hashing.Tests.Crc32Tests crashing on tvos-arm64 #90499

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

Tests failing:

  • System.IO.Hashing.Tests.Crc32Tests.StaticVerifyOneShotSpanToArray

Crash log: https://gist.github.com/ivanpovazan/d459960870e36af4a23c2fbddce14aeb

Pull request: #90023

Error Message

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

{
  "ErrorMessage": "at System.IO.Hashing.Tests.Crc32Tests",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=371961
Error message validated: at System.IO.Hashing.Tests.Crc32Tests
Result validation: ❌ Known issue did not match with the provided build.
Validation performed at: 8/14/2023 10:36:45 PM UTC

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0

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. changed the title [-][mono] Tests `System.IO.Hashing.Tests` crashing on tvos-arm64[/-] [+][mono] Tests `System.IO.Hashing.Tests.Crc32Tests` crashing on tvos-arm64[/+] on Aug 13, 2023
  4. ivanpovazan commented on Aug 15, 2023

    @ivanpovazan
    MemberAuthor

    For some reason the Build analysis is not picking up these failures.

    Going through history of runtime-extra-platforms it seems this failure was shadowed by tvos-arm64 runs timing out.
    However, it can be seen that a log from 3 weeks ago: https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-66c0274ea26a40c9a0/System.IO.Hashing.Tests.Attempt.3/1/net.dot.System.IO.Hashing.Tests.log?helixlogtype=result also has the same crashing message.

    I tried to reproduce this locally on an ios-arm64 device but with no luck.

    @vargaz do you have an idea what could have caused this regression?

  5. vargaz commented on Aug 15, 2023

    @vargaz
    Contributor

    Is this reproducible on CI ?

  6. ivanpovazan commented on Aug 15, 2023

    @ivanpovazan
    MemberAuthor

    Is this reproducible on CI ?

    Yes, it is a consistent failure for some time now. It basically fails on every runtime-extra-platforms run, on the tvos-arm64 Release AllSubsets_Mono leg

    Here is the crash log: https://gist.github.com/ivanpovazan/d459960870e36af4a23c2fbddce14aeb

  7. vargaz commented on Aug 15, 2023

    @vargaz
    Contributor

    The crash log is not very useful. Maybe it happens only on tvos, or do we have a different build on tvos ?

  8. ivanpovazan commented on Aug 15, 2023

    @ivanpovazan
    MemberAuthor

    Maybe it happens only on tvos

    Yes that seems to be the case - at least from analysing the runtime-extra-platforms failures.

    On the other hand, System.IO.Hashing tests are not being tested on ios-arm64 on CI, so I tried it locally with the same build settings as tvos-arm64 is using (as the platforms are pretty similar), but could not reproduce.

    We do have couple of 'mysterious' tvos-arm64 failures which were excluded before:

    <!--
    Mysterious crashes on tvOS
    -->
    <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Formats.Cbor\tests\System.Formats.Cbor.Tests.csproj" />
    <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.IO.MemoryMappedFiles\tests\System.IO.MemoryMappedFiles.Tests.csproj" />
    <ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Numerics\tests\System.Runtime.Numerics.Tests.csproj" />

    Maybe this one goes in the same bucket.

  9. kotlarmilos commented on Aug 15, 2023

    @kotlarmilos
    Member

    I've noticed that the bundle size for iOS is significantly smaller 232.3 MB, compared to tvOS which is 1009.3 MB. Additionally, the architectures differ, so it might be good testing with tvos-arm64 Helix queue.

  10. ivanpovazan commented on Aug 16, 2023

    @ivanpovazan
    MemberAuthor

    I've noticed that the bundle size for iOS is significantly smaller 232.3 MB, compared to tvOS which is 1009.3 MB. Additionally, the architectures differ, so it might be good testing with tvos-arm64 Helix queue.

    Yes on CI, on iOS device we run only the following libraries tests:

    • System.IO.MemoryMappedFiles.Tests
    • System.Runtime.Numerics.Tests
    • System.Runtime.Tests

    Additionally, the architectures differ

    Sorry, not sure I understand which architectures?

  11. kotlarmilos commented on Aug 16, 2023

    @kotlarmilos
    Member

    I've noticed that the bundle size for iOS is significantly smaller 232.3 MB, compared to tvOS which is 1009.3 MB. Additionally, the architectures differ, so it might be good testing with tvos-arm64 Helix queue.

    Yes on CI, on iOS device we run only the following libraries tests:

    • System.IO.MemoryMappedFiles.Tests
    • System.Runtime.Numerics.Tests
    • System.Runtime.Tests

    When I compared bundle size of the System.IO.Hashing.Tests app built for iOS device locally, it was much smaller compared to the bundle for tvOS device built on the CI.

    Additionally, the architectures differ

    Sorry, not sure I understand which architectures?

    The CI is using the OSX.13.Amd64.AppleTV.Open Helix queue, while locally I built for arm64 iOS device. Have you tried to reproduce the issue on x64 iOS device?

  12. ivanpovazan commented on Aug 16, 2023

    @ivanpovazan
    MemberAuthor

    When I compared bundle size of the System.IO.Hashing.Tests app built for iOS device locally, it was much smaller compared to the bundle for tvOS device built on the CI.

    Ah I see. Can we download the bundle somehow from helix or mimic how AOTing is performed on Helix - locally?

    The CI is using the OSX.13.Amd64.AppleTV.Open Helix queue, while locally I built for arm64 iOS device. Have you tried to reproduce the issue on x64 iOS device?

    The Amd64 in the queue name (afaik) just indicates that the host machine is x64, but it then cross compiles for ios/tvos-arm64 (there are no ios-x64 devices only simulators). But yeah, another difference is that it uses a cross-compiler.

  13. kotlarmilos commented on Aug 16, 2023

    @kotlarmilos
    Member

    Ah I see. Can we download the bundle somehow from helix or mimic how AOTing is performed on Helix - locally?

    Unfortunatelly we don't publish app bundles as artifacts.

    The Amd64 in the queue name (afaik) just indicates that the host machine is x64, but it then cross compiles for ios/tvos-arm64 (there are no ios-x64 devices only simulators). But yeah, another difference is that it uses a cross-compiler.

    Correct, sorry for confusion, my error.

  14. ivanpovazan commented on Aug 16, 2023

    @ivanpovazan
    MemberAuthor

    I wonder if we could do the same thing that @steveisok did here: aac729f#diff-efa78f3f0523ef8b61f94772d9c204608051d411527cb9be83ca60266dc1d2f9
    Where tests that were failing on tvos-arm64 got excluded, and enabled on ios-arm64 keeping the same coverage.

    But tracking the actual fix separately.

  15. kotlarmilos commented on Aug 16, 2023

    @kotlarmilos
    Member

    Good idea. If we have capacity, we can do that. I suggest we enable it and track load on Grafana dashboards.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions