Skip to content
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

[dotnet] Native ICU libraries not ready for Catalyst #11392

Closed
Tracked by #44736
spouliot opened this issue Apr 29, 2021 · 4 comments · Fixed by #12247
Closed
Tracked by #44736

[dotnet] Native ICU libraries not ready for Catalyst #11392

spouliot opened this issue Apr 29, 2021 · 4 comments · Fixed by #12247
Assignees
Labels
dotnet An issue or pull request related to .NET (6) dotnet-pri0 .NET 6: required for stable release Mac Catalyst Issues affecting Mac Catalyst
Milestone

Comments

@spouliot
Copy link
Contributor

Steps to Reproduce

  1. Build a dotnet app (native or MAUI) for catalyst
  2. Run the app

Expected Behavior

App launch

Actual Behavior

App icon bounce for a while then stops.

Environment

main and P4

@spouliot spouliot added dotnet An issue or pull request related to .NET (6) Mac Catalyst Issues affecting Mac Catalyst dotnet-pri0 .NET 6: required for stable release labels Apr 29, 2021
@spouliot spouliot added this to the .NET 6 milestone Apr 29, 2021
@spouliot spouliot self-assigned this Apr 29, 2021
@spouliot
Copy link
Contributor Author

Workaround

Add <InvariantGlobalization Condition="'$(TargetFramework)' == 'net6.0-maccatalyst' ">true</InvariantGlobalization> inside the .csproj

@spouliot
Copy link
Contributor Author

Running the native executable inside the app bundle opens a terminal window that shows the issue

Last login: Thu Apr 29 13:11:26 on ttys013

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Sebastiens-MacBook-Pro:~ poupou$ /Users/poupou/git/net6/p3/xamarin-macios/tests/dotnet/MyCatalystApp/bin/Debug/net6.0-maccatalyst/maccatalyst-x64/MyCatalystApp.app/Contents/MacOS/MyCatalystApp ; exit;
MonoTouch: Could not install sigaction override, unexpected sigaction implementation.
xamarin_vm_initialize (3, 0x304b67d70, 0x304b67d50): rv: 0

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x108de4016 - /Users/poupou/git/net6/p3/xamarin-macios/tests/dotnet/MyCatalystApp/bin/Debug/net6.0-maccatalyst/maccatalyst-x64/MyCatalystApp.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : mono_dump_native_crash_info
	0x108d846ee - /Users/poupou/git/net6/p3/xamarin-macios/tests/dotnet/MyCatalystApp/bin/Debug/net6.0-maccatalyst/maccatalyst-x64/MyCatalystApp.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : mono_handle_native_crash
	0x108cdce6f - /Users/poupou/git/net6/p3/xamarin-macios/tests/dotnet/MyCatalystApp/bin/Debug/net6.0-maccatalyst/maccatalyst-x64/MyCatalystApp.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : mono_sigsegv_signal_handler_debug
	0x7fff20417d7d - /usr/lib/system/libsystem_platform.dylib : _sigtramp
	0x7ffdeb0b0b18 - Unknown

=================================================================
	Telemetry Dumper:
=================================================================
Pkilling 0x12967731200x from 0x8599584256x
Pkilling 0x12969840640x from 0x8599584256x
Could not exec mono-hang-watchdog, expected on path '/Users/runner/work/1/s/artifacts/obj/mono/MacCatalyst.x64.Release/out/etc/../bin/mono-hang-watchdog' (errno 2)
Entering thread summarizer pause from 0x8599584256x
Finished thread summarizer pause from 0x8599584256x.
Failed to create breadcrumb file (null)/crash_hash_0x13d438cc9b

Waiting for dumping threads to resume

=================================================================
	Basic Fault Address Reporting
=================================================================
instruction pointer is NULL, skip dumping
=================================================================
	Managed Stacktrace:
=================================================================
	  at <unknown> <0xffffffff>
	  at Globalization:GetLocaleName <0x00111>
	  at System.Globalization.CultureData:GetLocaleName <0x0007a>
	  at System.Globalization.CultureData:InitIcuCultureDataCore <0x0041a>
	  at System.Globalization.CultureData:InitCultureDataCore <0x00042>
	  at System.Globalization.CultureData:CreateCultureData <0x0027a>
	  at System.Globalization.CultureData:GetCultureData <0x00302>
	  at System.Globalization.CultureInfo:CreateCultureInfoNoThrow <0x0004a>
	  at System.Globalization.CultureInfo:GetCultureInfo <0x001ca>
	  at System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage <0x000da>
	  at System.Resources.ResourceManager:CommonAssemblyInit <0x00202>
	  at System.Resources.ResourceManager:.ctor <0x00142>
	  at System.SR:get_ResourceManager <0x00082>
	  at System.SR:InternalGetResourceString <0x00402>
	  at System.SR:GetResourceString <0x00052>
	  at System.SR:get_Arg_DllNotFoundException <0x0003a>
	  at System.DllNotFoundException:.ctor <0x0003a>
	  at System.Object:runtime_invoke_void__this__ <0x000b0>
	  at <unknown> <0xffffffff>
	  at System.Object:__icall_wrapper_mono_marshal_lookup_pinvoke <0x00078>
	  at Globalization:LoadICUData <0x000aa>
	  at System.Globalization.GlobalizationMode:LoadICU <0x0007a>
	  at System.Globalization.GlobalizationMode:GetGlobalizationInvariantMode <0x000a2>
	  at System.Globalization.GlobalizationMode:.cctor <0x0006a>
	  at System.Object:runtime_invoke_void <0x000a5>
	  at <unknown> <0xffffffff>
	  at System.Globalization.CultureData:CreateCultureWithInvariantData <0x00f9a>
	  at System.Globalization.CultureData:get_Invariant <0x00052>
	  at System.Globalization.CultureInfo:.cctor <0x00032>
	  at System.Object:runtime_invoke_void <0x000a5>
	  at <unknown> <0xffffffff>
	  at System.Version:TryParseComponent <0x00062>
	  at System.Version:ParseVersion <0x004da>
	  at System.Version:Parse <0x000e2>
	  at System.Version:.ctor <0x0004a>
	  at System.Environment:GetOSVersion <0x0007a>
	  at System.Environment:get_OSVersion <0x00062>
	  at Xamarin.Utils.StringUtils:.cctor <0x000ea>
	  at System.Object:runtime_invoke_void <0x000a5>
	  at <unknown> <0xffffffff>
	  at Registrar.Registrar:GetExportedTypeName <0x000ba>
	  at ObjCType:get_ExportedName <0x0004a>
	  at Registrar.Registrar:RegisterTypeUnsafe <0x009da>
	  at Registrar.Registrar:RegisterType <0x000aa>
	  at Registrar.DynamicRegistrar:Register <0x00062>
	  at ObjCRuntime.Class:Register <0x00052>
	  at ObjCRuntime.Runtime:RegisterAssembly <0x0011a>
	  at ObjCRuntime.Runtime:RegisterAssembly <0x0007a>
	  at ObjCRuntime.Runtime:register_assembly <0x0005a>
	  at ObjCRuntime.Runtime:register_assembly <0x00072>
=================================================================

spouliot pushed a commit to spouliot/xamarin-macios that referenced this issue Apr 29, 2021
so it must remain using invariant globalization until it becomes
available

ref: xamarin#11392
spouliot pushed a commit to spouliot/xamarin-macios that referenced this issue Apr 29, 2021
so it must remain using invariant globalization until it becomes
available

ref: xamarin#11392
spouliot pushed a commit to spouliot/xamarin-macios that referenced this issue Apr 29, 2021
spouliot added a commit that referenced this issue May 2, 2021
We have to consider (setup and process) `libSystem.Globalization.Native`
in order not to remove the required symbols when stripping the native
executable.

Ignore `libSystem.Globalization.Native` for dotnet / catalyst
ref: #11392
spouliot added a commit that referenced this issue May 2, 2021
so it must remain using invariant globalization until it becomes
available

ref: #11392
rolfbjarne added a commit to rolfbjarne/xamarin-macios that referenced this issue May 18, 2021
…Mac Catalyst.

Globalization doesn't work yet for Mac Catalyst: xamarin#11392
@spouliot
Copy link
Contributor Author

Still crash with 6.0.100-preview.6.21274.3

rolfbjarne added a commit that referenced this issue Jul 20, 2021
Adjust HttpClientHandler tests to cope with
dotnet/runtime#50859 and
#11392.
rolfbjarne added a commit that referenced this issue Jul 20, 2021
Adjust HttpClientHandler tests to cope with
dotnet/runtime#50859 and
#11392.
rolfbjarne added a commit that referenced this issue Jul 21, 2021
… named culture.

This way it'll work on Mac Catalyst, where only the invariant culture works for now.

Ref: #11392
rolfbjarne added a commit to rolfbjarne/xamarin-macios that referenced this issue Jul 27, 2021
@rolfbjarne
Copy link
Member

This seems to be working locally for me now, so I created #12247 to see if it works everywhere.

@ghost ghost locked as resolved and limited conversation to collaborators Apr 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dotnet An issue or pull request related to .NET (6) dotnet-pri0 .NET 6: required for stable release Mac Catalyst Issues affecting Mac Catalyst
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants