-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GlobalizationNative_LoadICUData never called when using Invariant mode (Mac Catalyst and other Apple platforms) #2759
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @dotnet/area-system-globalization Issue DetailsDescriptionThe problem occurs on Apple platforms (Mac Catalyst, iOS) when using .NET 7. The initial symptom I get is this exception at startup:
Debugging in lldb shows that this occurs due to an error in ICU, the
Debugging a bit more reveals that Now the question obviously becomes why Usually
So I traced all managed code (setting And I found that:
Then I compared the IL for I'm guessing the linker linked it away. App that fails: BundleStructure.app.zip - download, unzip, and execute Note: this is not a problem in .NET 6, only in .NET 7. Reproduction StepsIf the above description isn't enough, I can try to find a way to reproduce it. Expected behaviorNo exception at startup Actual behaviorSee above Regression?Yes. This started happened when maestro did this bump: xamarin/xamarin-macios@d9eacac. Known WorkaroundsNo response ConfigurationNo response Other informationNo response
|
Tagging subscribers to 'os-maccatalyst': @steveisok, @akoeplinger Issue DetailsDescriptionThe problem occurs on Apple platforms (Mac Catalyst, iOS) when using .NET 7. The initial symptom I get is this exception at startup:
Debugging in lldb shows that this occurs due to an error in ICU, the
Debugging a bit more reveals that Now the question obviously becomes why Usually
So I traced all managed code (setting And I found that:
Then I compared the IL for I'm guessing the linker linked it away. App that fails: BundleStructure.app.zip - download, unzip, and execute Note: this is not a problem in .NET 6, only in .NET 7. Reproduction StepsIf the above description isn't enough, I can try to find a way to reproduce it. Expected behaviorNo exception at startup Actual behaviorSee above Regression?Yes. This started happened when maestro did this bump: xamarin/xamarin-macios@d9eacac. Known WorkaroundsNo response ConfigurationNo response Other informationNo response
|
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger Issue DetailsDescriptionThe problem occurs on Apple platforms (Mac Catalyst, iOS) when using .NET 7. The initial symptom I get is this exception at startup:
Debugging in lldb shows that this occurs due to an error in ICU, the
Debugging a bit more reveals that Now the question obviously becomes why Usually
So I traced all managed code (setting And I found that:
Then I compared the IL for I'm guessing the linker linked it away. App that fails: BundleStructure.app.zip - download, unzip, and execute Note: this is not a problem in .NET 6, only in .NET 7. Reproduction StepsIf the above description isn't enough, I can try to find a way to reproduce it. Expected behaviorNo exception at startup Actual behaviorSee above Regression?Yes. This started happened when maestro did this bump: xamarin/xamarin-macios@d9eacac. Known WorkaroundsNo response ConfigurationNo response Other informationNo response
|
If you're using Invariant mode, I don't believe loading icu should be called at all. |
A quick note, when enabling the invariant mode, it is expected that @steveisok could be the linker trimmed all invariant mode code somehow disabling all Invariant mode code paths? |
That would be my guess. @rolfbjarne can you validate? |
I got the logic reversed, this is when Invariant=false, but the problem is really the same, that the call to This is the decompiled IcuInitSortHandle: This call to See end of the decompiled CreateCultureWithInvariantData: The maestro bump that resulted in this failure includes a linker bump: e8b0ba0...3292e23, which includes this interesting commit: Add constant propagation through methods with parameters or complex bodies, maybe that's got something to do with it? CC @marek-safar |
This looks like linker related so I'll look into it. |
I see an entry in the runtime substitution files that shortcircuits both |
As I wrote I'm looking into it and have local fix already |
@marek-safar any idea when this can be fixed? |
I tried a <?xml version="1.0" encoding="utf-8" ?>
<linker>
<assembly fullname="System.Private.CoreLib">
<type fullname="System.Globalization.GlobalizationMode" preserve="all" />
</assembly>
</linker> This preserves members like @marek-safar is there another workaround we could try? I was going to put something in the Android workload for now to get us on a newer .NET 7. |
Works around: dotnet/linker#2759
Changes: dotnet/installer@c7afae6...2071f2c Changes: dotnet/linker@04c49c9...b9c9da2 Changes: dotnet/runtime@c5d40c9...3e5517b Changes: dotnet/emsdk@b8e7143...f41e658 Updates: * Microsoft.Dotnet.Sdk.Internal: from 7.0.100-preview.4.22174.1 to 7.0.100-preview.5.22263.22 * Microsoft.NET.ILLink.Tasks: from 7.0.100-1.22173.2 to 7.0.100-1.22259.1 * Microsoft.NETCore.App.Ref: from 7.0.0-preview.4.22172.7 to 7.0.0-preview.5.22258.4 * Microsoft.NET.Workload.Emscripten.Manifest-7.0.100: from 7.0.0-preview.3.22121.1 to 7.0.0-preview.4.22215.1 ~~ Changes ~~ We can use `mono_opt_aot_lazy_assembly_load` now, as this change is in this .NET 7 version. Updated `.apkdesc` files, since `.apk` size has improved (gotten smaller). ~~ Known Issues ~~ * Force invariant globalization by default to workaround: dotnet/linker#2759 * Ignore tests that were hitting `InvalidProgramException`: dotnet/linker#2799 Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Context: dotnet/linker#2759 Context: dotnet/linker#2799 Partially reverts b250c04.
This reverts commit 8650556.
Changes: dotnet/installer@a84c4c0...a3acdcf Changes: dotnet/linker@5a8de69...b047935 Changes: dotnet/runtime@f4c60fd...621cd59 Updates: * Microsoft.Dotnet.Sdk.Internal: from 7.0.100-preview.5.22267.11 to 7.0.100-preview.5.22273.1 * Microsoft.NET.ILLink.Tasks: from 7.0.100-1.22266.1 to 7.0.100-1.22270.1 * Microsoft.NETCore.App.Ref: from 7.0.0-preview.5.22266.11 to 7.0.0-preview.5.22271.4 Other changes: * Revert workarounds for dotnet/linker#2759 and dotnet/linker#2799 * Update `.apkdesc` files Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
* Update dependencies from https://github.com/dotnet/installer build 20220404.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22204.1 Dependency coherency updates Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref From Version 7.0.0-preview.4.22181.10 -> To Version 7.0.0-preview.4.22201.3 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220405.16 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22205.16 Dependency coherency updates Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref From Version 7.0.0-preview.4.22181.10 -> To Version 7.0.0-preview.4.22205.1 (parent: Microsoft.Dotnet.Sdk.Internal * [tests] Remove dead code. * Update dependencies from https://github.com/dotnet/installer build 20220407.2 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22207.2 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22206.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220407.24 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22207.24 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22206.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220408.2 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22208.2 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22206.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220411.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22211.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22208.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220412.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22212.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220412.35 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22212.35 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220414.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22214.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220414.17 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22214.17 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220415.7 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22215.7 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220417.3 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22217.3 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22211.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220418.29 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22218.29 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22213.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220419.19 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.4.22219.19 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22213.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220420.23 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22220.23 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22213.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220421.9 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22221.9 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22213.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220425.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22225.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22213.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220427.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22227.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22226.2 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220427.8 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22227.8 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22227.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220428.6 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22228.6 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22227.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220429.2 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22229.2 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220503.34 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22253.34 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220505.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22255.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220506.2 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22256.2 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220506.8 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22256.8 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220507.3 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22257.3 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220508.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22258.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22228.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220510.3 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22260.3 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22259.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220510.20 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22260.20 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22259.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220511.8 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22261.8 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22259.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220512.14 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22262.14 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22259.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220513.22 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22263.22 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22259.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220517.11 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22267.11 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22266.1 (parent: Microsoft.Dotnet.Sdk.Internal * Attempt workaround for dotnet/linker#2759 * [runtime] Skip passing ICU_DAT_FILE_PATH to the runtime if we don't have an ICU data file. * [dotnet] Write our own code for the global using for nfloat. This way we can ignore this compiler warning: The type name 'nfloat' only contains lower-cased ascii characters. Such names may become reserved for the language. * Update dependencies from https://github.com/dotnet/installer build 20220523.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22273.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22270.1 (parent: Microsoft.Dotnet.Sdk.Internal * Revert "Attempt workaround for dotnet/linker#2759" This reverts commit 8650556. * [src] Fix computing the value type size of System.UIntPtr. * Why is this needed? > SpriteKit/SKNode.cs(89,29): error CS0121: The call is ambiguous between the following methods or properties: 'NSMutableSet<TKey>.NSMutableSet(NativeHandle)' and 'NSMutableSet<TKey>.NSMutableSet(nint)' * Update dependencies from https://github.com/dotnet/installer build 20220524.1 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22274.1 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22273.1 (parent: Microsoft.Dotnet.Sdk.Internal * Update dependencies from https://github.com/dotnet/installer build 20220524.9 Microsoft.Dotnet.Sdk.Internal From Version 7.0.100-preview.4.22201.11 -> To Version 7.0.100-preview.5.22274.9 Dependency coherency updates Microsoft.NET.ILLink.Tasks,Microsoft.AspNetCore.App.Ref,Microsoft.NETCore.App.Ref,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.100-1.22178.1 -> To Version 7.0.100-1.22273.1 (parent: Microsoft.Dotnet.Sdk.Internal Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
) Changes: dotnet/installer@c7afae6...2071f2c Changes: dotnet/linker@04c49c9...b9c9da2 Changes: dotnet/runtime@c5d40c9...3e5517b Changes: dotnet/emsdk@b8e7143...f41e658 Updates: * Microsoft.Dotnet.Sdk.Internal: from 7.0.100-preview.4.22174.1 to 7.0.100-preview.5.22263.22 * Microsoft.NET.ILLink.Tasks: from 7.0.100-1.22173.2 to 7.0.100-1.22259.1 * Microsoft.NETCore.App.Ref: from 7.0.0-preview.4.22172.7 to 7.0.0-preview.5.22258.4 * Microsoft.NET.Workload.Emscripten.Manifest-7.0.100: from 7.0.0-preview.3.22121.1 to 7.0.0-preview.4.22215.1 ~~ Changes ~~ We can use `mono_opt_aot_lazy_assembly_load` now, as this change is in this .NET 7 version. Updated `.apkdesc` files, since `.apk` size has improved (gotten smaller). ~~ Known Issues ~~ * Force invariant globalization by default to workaround: dotnet/linker#2759 * Ignore tests that were hitting `InvalidProgramException`: dotnet/linker#2799 Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Changes: dotnet/installer@a84c4c0...a3acdcf Changes: dotnet/linker@5a8de69...b047935 Changes: dotnet/runtime@f4c60fd...621cd59 Updates: * Microsoft.Dotnet.Sdk.Internal: from 7.0.100-preview.5.22267.11 to 7.0.100-preview.5.22273.1 * Microsoft.NET.ILLink.Tasks: from 7.0.100-1.22266.1 to 7.0.100-1.22270.1 * Microsoft.NETCore.App.Ref: from 7.0.0-preview.5.22266.11 to 7.0.0-preview.5.22271.4 Other changes: * Revert workarounds for dotnet/linker#2759 and dotnet/linker#2799 * Update `.apkdesc` files Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Description
The problem occurs on Apple platforms (Mac Catalyst, iOS) when using .NET 7.
The initial symptom I get is this exception at startup:
Debugging in lldb shows that this occurs due to an error in ICU, the
udata_openChoice
function returns an error here:Debugging a bit more reveals that
GlobalizationNative_LoadICUData
is never called, and I'm guessing this is the underlying cause for the exceptions above.Now the question obviously becomes why
GlobalizationNative_LoadICUData
is never called.Usually
GlobalizationNative_LoadICUData
is called like this (for another test app that works fine):So I traced all managed code (setting
MONO_TRACE=all
): iTerm2 Session 20 Apr 2022 at 6:28:03 PM.txt.zipAnd I found that:
System.Globalization.GlobalizationMode/Settings:.cctor
is never called.System.Globalization.GlobalizationMode:get_Invariant
is never called.System.Globalization.CultureData:CreateCultureWithInvariantData
is called.Then I compared the IL for
System.Globalization.CultureData:CreateCultureWithInvariantData
between a working app and a failing app, and it turns out there's no call toSystem.Globalization.GlobalizationMode:get_Invariant
in the failing app.I'm guessing the linker linked it away.
App that fails: BundleStructure.app.zip - download, unzip, and execute
./BundleStructure.app/Contents/MacOS/BundleStructure
in Terminal to see the exception (due to a different issue on our side the app ends up in an infinite loop, but this is the cause for the loop in the first place).Note: this is not a problem in .NET 6, only in .NET 7.
Reproduction Steps
If the above description isn't enough, I can try to find a way to reproduce it.
Expected behavior
No exception at startup
Actual behavior
See above
Regression?
Yes.
This started happened when maestro did this bump: xamarin/xamarin-macios@d9eacac.
Known Workarounds
No response
Configuration
No response
Other information
No response
The text was updated successfully, but these errors were encountered: