Skip to content

[CoreCLR] Crash during dynamic registration of [Export] methods #10472

@davidortinau

Description

@davidortinau

Android framework version

net10.0-android (Preview)

Affected platform version

.NET 10 RC1

Description

I turned off hot reload and still get this crash. Right after I see the splash screen for a quick second the app crashes. I tried to break on all exceptions and that doesn't catch. This is what is reported in the logical.

2025-09-09 15:29:46.002 27247-27247 AndroidRuntime          pid-27247                            
E  FATAL EXCEPTION: main
        Process: com.simplyprofound.sentencestudio, PID: 27247
        android.runtime.JavaProxyThrowable: [System.ArgumentException]: The specified Type must not be a generic type. (Parameter 'delegate')
            at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegateInternal + 0xf(Unknown Source)
            at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw + 0x11(Unknown Source)
            at System.StubHelpers.MngdNativeArrayMarshaler.ConvertContentsToNative + 0x0(Unknown Source)
            at Java.Interop.JniNativeMethods.RegisterNatives + 0x8(Unknown Source)
            at Java.Interop.JniEnvironment+Types._RegisterNatives + 0x19(Unknown Source)
            at Java.Interop.JniEnvironment+Types.RegisterNatives + 0x5a(Unknown Source)
            at Android.Runtime.AndroidTypeManager.RegisterNativeMembers + 0x24f(Unknown Source)
            at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw + 0x11(Unknown Source)
            at Java.Interop.JniEnvironment+Object.AllocObject + 0x3a(Unknown Source)
            at Java.Interop.JniType.AllocObject + 0x6(Unknown Source)
            at Java.Interop.JniPeerMembers+JniInstanceMethods.StartCreateInstance + 0x25(Unknown Source)
            at Java.Lang.Object..ctor + 0x1a(Unknown Source)
            at Shiny.Hosting.AndroidLifecycleExecutor..ctor + 0x0(Unknown Source)
            at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor + 0x0(Unknown Source)
            at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs + 0x243(Unknown Source)
            at System.Reflection.RuntimeConstructorInfo.Invoke + 0x82(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor + 0x3f(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain + 0x3f(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache + 0x61(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite + 0x4f(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve + 0x26(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor + 0x48(Unknown Source)
            at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd + 0x48(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService + 0xd(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService + 0xd(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService + 0x28(Unknown Source)
            at Shiny.ServiceProviderExtensions+<>c__DisplayClass6_0.<AddShinyService>b__4 + 0x0(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory + 0x0(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain + 0x23(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache + 0x61(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite + 0x4f(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable + 0x18(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain + 0x31(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache + 0x61(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite + 0x4f(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve + 0x26(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor + 0x48(Unknown Source)
            at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd + 0x48(Unknown Source)
2025-09-09 15:29:46.004 27247-27247 AndroidRuntime          pid-27247                            E  	at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService + 0xd(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService + 0x0(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService + 0x28(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService + 0xb(Unknown Source)
            at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetServices + 0xb(Unknown Source)
            at Shiny.Hosting.Host.Run + 0x0(Unknown Source)
            at Shiny.ShinyMauiInitializationService.Initialize + 0xe(Unknown Source)
            at Microsoft.Maui.MauiContextExtensions.InitializeAppServices + 0x20(Unknown Source)
            at Microsoft.Maui.Hosting.MauiAppBuilder.Build + 0x3b(Unknown Source)
            at SentenceStudio.MauiProgram.CreateMauiApp + 0x28f(Unknown Source)
            at SentenceStudio.MainApplication.CreateMauiApp + 0x0(Unknown Source)
            at Microsoft.Maui.MauiApplication.OnCreate + 0xb(Unknown Source)
            at Android.App.Application.n_OnCreate + 0xe(Unknown Source)
            at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
            at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
            at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1386)
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7504)
            at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2416)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loopOnce(Looper.java:232)
            at android.os.Looper.loop(Looper.java:317)
            at android.app.ActivityThread.main(ActivityThread.java:8705)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)

Steps to Reproduce

https://github.com/davidortinau/SentenceStudio

I'm currently working on a branch, but it's not that far off from main so I expect that would also crash.

Did you find any workaround?

No response

Relevant log output

Metadata

Metadata

Assignees

Labels

Area: App RuntimeIssues in `libmonodroid.so`.needs-triageIssues that need to be assigned.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions