Skip to content

[mono][maccatalyst] MacCatalyst template app crashes in AOT+interp mode in .NET 8 #105510

@ivanpovazan

Description

@ivanpovazan

Description

MacCatalyst template app crashes with:

Attempting to JIT compile method '(wrapper managed-to-native) bool System.Reflection.RuntimeMethodInfo:get_IsGenericMethod (System.Reflection.RuntimeMethodInfo)' while running in aot-only mode. See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.

when the project is configured with: <MtouchInterpreter>-all,System.Private.CoreLib</MtouchInterpreter>

Repro

  1. Download and install dotnet 8.0.303
  2. Install maccatalyst workload
  3. Create a template app dotnet new maccatalyst
  4. Edit the project by including <MtouchInterpreter>-all,System.Private.CoreLib</MtouchInterpreter>
  5. Build and run the project

Expected

The app runs.

Actual

The app crashes with:

2024-07-25 21:40:51.156 Repro[68529:32352055] Microsoft.MacCatalyst: An exception occurred while registering the product assembly
Attempting to JIT compile method '(wrapper managed-to-native) bool System.Reflection.RuntimeMethodInfo:get_IsGenericMethod (System.Reflection.RuntimeMethodInfo)' while running in aot-only mode. See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.
 (System.ExecutionEngineException)
   at Registrar.DynamicRegistrar.IsGenericMethod(MethodBase method) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:line 584
   at Registrar.Registrar.VerifyNonGenericMethod(List`1& exceptions, Type declaringType, MethodBase method) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 1578
   at Registrar.Registrar.RegisterTypeUnsafe(Type type, List`1& exceptions) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 2415
   at Registrar.Registrar.RegisterType(Type type, List`1& exceptions) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 1573
   at Registrar.DynamicRegistrar.Register(Type type) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:line 1127
   at ObjCRuntime.Class.Register(Type type) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Class.cs:line 237
   at ObjCRuntime.Runtime.RegisterAssembly(Assembly a) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 758
   at ObjCRuntime.Runtime.RegisterAssembly(IntPtr a) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 496
   at ObjCRuntime.Runtime.register_assembly(IntPtr assembly, IntPtr* exception_gchandle) in /Users/builder/azdo/_work/1/s/xamarin-macios/runtime/Delegates.generated.cs:line 265
2024-07-25 21:40:51.157 Repro[68529:32352055] Microsoft.MacCatalyst: An exception occurred while registering the product assembly
Attempting to JIT compile method '(wrapper managed-to-native) bool System.Reflection.RuntimeMethodInfo:get_IsGenericMethod (System.Reflection.RuntimeMethodInfo)' while running in aot-only mode. See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.
 (System.ExecutionEngineException)
   at Registrar.DynamicRegistrar.IsGenericMethod(MethodBase method) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:line 584
   at Registrar.Registrar.VerifyNonGenericMethod(List`1& exceptions, Type declaringType, MethodBase method) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 1578
   at Registrar.Registrar.RegisterTypeUnsafe(Type type, List`1& exceptions) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 2415
   at Registrar.Registrar.RegisterType(Type type, List`1& exceptions) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Registrar.cs:line 1573
   at Registrar.DynamicRegistrar.Register(Type type) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/DynamicRegistrar.cs:line 1127
   at ObjCRuntime.Class.Register(Type type) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Class.cs:line 237
   at ObjCRuntime.Runtime.RegisterAssembly(Assembly a) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 758
   at ObjCRuntime.Runtime.RegisterAssembly(IntPtr a) in /Users/builder/azdo/_work/1/s/xamarin-macios/src/ObjCRuntime/Runtime.cs:line 496
   at ObjCRuntime.Runtime.register_assembly(IntPtr assembly, IntPtr* exception_gchandle) in /Users/builder/azdo/_work/1/s/xamarin-macios/runtime/Delegates.generated.cs:line 265

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT 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:
=================================================================
	0x108ba37bc - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : mono_dump_native_crash_info
	0x108b5c7d0 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : mono_handle_native_crash
	0x108ca65b4 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : sigabrt_signal_handler.cold.1
	0x108ba307c - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : mono_runtime_setup_stat_profiler
	0x18a1df584 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
	0x18a1aec20 - /usr/lib/system/libsystem_pthread.dylib : pthread_kill
	0x18a0bba30 - /usr/lib/system/libsystem_c.dylib : abort
	0x1087e4414 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : xamarin_register_assembly
	0x1087e7cec - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : xamarin_process_managed_exception
	0x1087e8560 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : xamarin_initialize
	0x1087fa5f0 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : xamarin_main
	0x108ca6104 - /Users/ivan/tmp/ppp/ab/Repro/bin/Debug/net8.0-maccatalyst/maccatalyst-arm64/Repro.app/Contents/MacOS/Repro : main
	0x189e260e0 - /usr/lib/dyld : start

=================================================================
	Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x18a176a60):0x18a176a50  ff 0f 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4  .._..._..)......
0x18a176a60  03 01 00 54 7f 23 03 d5 fd 7b bf a9 fd 03 00 91  ...T.#...{......
0x18a176a70  50 e0 ff 97 bf 03 00 91 fd 7b c1 a8 ff 0f 5f d6  P........{...._.
0x18a176a80  c0 03 5f d6 70 0a 80 d2 01 10 00 d4 03 01 00 54  .._.p..........T

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions