Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Net 9][Android] Runtime crash on Sentry.SentrySdk.Init #4030

Open
AmaruTrai opened this issue Mar 10, 2025 · 10 comments
Open

[Net 9][Android] Runtime crash on Sentry.SentrySdk.Init #4030

AmaruTrai opened this issue Mar 10, 2025 · 10 comments

Comments

@AmaruTrai
Copy link

Package

Sentry

.NET Flavor

.NET

.NET Version

9.0.0

OS

Android

SDK Version

5.3.0

Self-Hosted Sentry Version

No response

Steps to Reproduce

After update sentry sdk from version "5.2.0" to "5.3.0" app start crash with runtime error.

  1. Setup Net 9 project for target net9.0-android
  2. Add package Sentry - 5.3.0
  3. Setup SentrySDK.Init
  4. Build and deploy release version

Exception log from logcat:

java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
	at io.sentry.Sentry.init(Sentry.java:234)
	at io.sentry.Sentry.init(Sentry.java:167)
	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
	at crc6485b6303acb051c43.Window_ChoreographerCallback.n_doFrame(Native Method)
	at crc6485b6303acb051c43.Window_ChoreographerCallback.doFrame(Window_ChoreographerCallback.java:29)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1688)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1699)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1154)
	at android.view.Choreographer.doFrame(Choreographer.java:1070)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1647)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:230)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:9063)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

If setup DSN in Android.xml or setup enable/init options, crash log change to:

android.runtime.JavaProxyThrowable: [System.NullReferenceException]: Object reference not set to an instance of an object
	at Sentry.Android.AndroidEventProcessor..ctor + 0x11(Unknown Source)
	at Sentry.SentrySdk.InitSentryAndroidSdk + 0xbe(Unknown Source)
	at Sentry.SentrySdk.InitHub + 0x77(Unknown Source)
	at Sentry.SentrySdk.Init + 0x0(Unknown Source)
	at Sentry.SentrySdk.Init + 0x10(Unknown Source)
	at NDA code

Project setting for release version:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>net9.0-android</TargetFramework>
        <RuntimeIdentifiers>android-arm;android-arm64;android-x86;android-x64</RuntimeIdentifiers>
        <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
        <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
        <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
      <AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
      <RunAOTCompilation>true</RunAOTCompilation>
      <EnableLLVM>false</EnableLLVM>
    </PropertyGroup>

    <ItemGroup>
      <PackageReference Include="Sentry" Version="5.3.0" />
      <PackageReference Include="Xamarin.AndroidX.Compose.Foundation" Version="1.7.8" />
      <PackageReference Include="Xamarin.AndroidX.Compose.Material" Version="1.7.8" />
      <PackageReference Include="Xamarin.AndroidX.Compose.Runtime" Version="1.7.8" />
      <PackageReference Include="Xamarin.AndroidX.Compose.UI" Version="1.7.8" />
      <PackageReference Include="Xamarin.AndroidX.Lifecycle.Common" Version="2.8.7.2" />
      <PackageReference Include="Xamarin.AndroidX.Lifecycle.Process" Version="2.8.7.2" />
      <PackageReference Include="Xamarin.AndroidX.Lifecycle.Runtime" Version="2.8.7.2" />
      <PackageReference Include="Xamarin.AndroidX.Lifecycle.ViewModel" Version="2.8.7.2" />
    </ItemGroup>
</Project>

Sentry init:

	SentrySdk.Init(options => {
			options.Dsn = "*****";
			options.AutoSessionTracking = true;
			options.IsGlobalModeEnabled = true;
			options.SendDefaultPii = true;
			options.UseAsyncFileIO = true;

#if ANDROID
			options.Native.AnrEnabled = true;
			options.Native.AnrReportInDebug = true;
			options.Android.LogCatIntegration = LogCatIntegrationType.All;
			options.Android.LogCatMaxLines = 300;
#endif
		});

Expected Result

No runtime crash

Actual Result

Crash on runtime.

@bitsandfoxes
Copy link
Contributor

Hi @AmaruTrai, thanks for raising this! There seem to be a few things going on. Could you provide us with a small repro for us to run locally?

@bruno-garcia
Copy link
Member

If setup DSN in Android.xml or setup enable/init options, crash log change to:

we init the Android sdk via the C# sdk. I don't think we supporting adding dan to the android manifest.

@maximebono
Copy link

Same problem here after upgrading from "5.2.0" to "5.3.0" in release mode with Partial Trimming and AOT. Revert to "5.2.0" fix the problem.

In debug everything works fine.

Exception from play store

Exception java.lang.RuntimeException:
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:8324)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2665)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loopOnce (Looper.java:249)
at android.os.Looper.loop (Looper.java:337)
at android.app.ActivityThread.main (ActivityThread.java:9597)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:615)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:935)
Caused by java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
at io.sentry.Sentry.initConfigurations (Sentry.java:396)
at io.sentry.Sentry.init (Sentry.java:234)
at io.sentry.Sentry.init (Sentry.java:167)
at io.sentry.android.core.SentryAndroid.init (SentryAndroid.java:93)
at io.sentry.android.core.SentryAndroid.init (SentryAndroid.java:76)
at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate
at crc6488302ad6e9e4df1a.MauiApplication.onCreate (MauiApplication.java:27)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1393)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:8316)

Configuration of release mode :

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net9.0-android35.0|AnyCPU'">
	<AndroidPackageFormat>aab</AndroidPackageFormat>
	<AndroidUseAapt2>True</AndroidUseAapt2>
	<AndroidCreatePackagePerAbi>False</AndroidCreatePackagePerAbi>
	<RunAOTCompilation>True</RunAOTCompilation>
	<PublishTrimmed>True</PublishTrimmed>
	<TrimMode>partial</TrimMode>
	<AndroidEnableSGenConcurrent>True</AndroidEnableSGenConcurrent>
</PropertyGroup>

MauiProgram :

builder.UseSentry(options =>
{
	// The DSN is the only required setting.
	options.Dsn = "***";

	// Use debug mode if you want to see what the SDK is doing.
	// Debug messages are written to stdout with Console.Writeline,
	// and are viewable in your IDE's debug console or with 'adb logcat', etc.
	// This option is not recommended when deploying your application.
#if DEBUG
	options.Debug = true;
#endif
	// Set TracesSampleRate to 1.0 to capture 100% of transactions for tracing.
	// We recommend adjusting this value in production.
	options.TracesSampleRate = 1.0;
});

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Mar 12, 2025
@jamescrosswell
Copy link
Collaborator

I built a .NET 8 app and upgraded this from 5.2.0 to 5.3.0 without any issue. I also tried applying the properties you suggsted @maximebono:

	<PropertyGroup>
		<RunAOTCompilation>True</RunAOTCompilation>
		<PublishTrimmed>True</PublishTrimmed>
		<TrimMode>partial</TrimMode>
		<AndroidEnableSGenConcurrent>True</AndroidEnableSGenConcurrent>		
	</PropertyGroup>

I don't think there's an issue with the SDK then. I suspect there's something else going on.

If you set SentryOptions.Debug = true, you should see some logs in adb logcat that might help work out what's going on when Sentry is being initialised.

@bcaceiro
Copy link

bcaceiro commented Mar 22, 2025

Hi @jamescrosswell
.NET 9
.NET MAUI 9.0.50

Release - with project settings default by MAUI template

Workloads:

android                    35.0.39/9.0.100        VS 17.14.35806.103, VS 17.13.35828.75
ios                        18.2.9180/9.0.100      VS 17.14.35806.103, VS 17.13.35828.75
maccatalyst                18.2.9180/9.0.100      VS 17.14.35806.103, VS 17.13.35828.75
maui-windows               9.0.14/9.0.100         VS 17.14.35806.103, VS 17.13.35828.75

Sentry setup:


            builder.UseSentry(options =>
            {
                // The DSN is the only required setting.
                options.Dsn = "XXXXXXXXXXXXXXX";

                // Use debug mode if you want to see what the SDK is doing.
                // Debug messages are written to stdout with Console.Writeline,
                // and are viewable in your IDE's debug console or with 'adb logcat', etc.
                // This option is not recommended when deploying your application.
#if DEBUG
                options.Debug = false;
                options.Environment = "debug";
#else
                options.Debug = false;
                options.Environment = "release";
#endif
                //https://docs.sentry.io/platforms/dotnet/guides/maui/configuration/releases/
                options.AutoSessionTracking = true;

                // Set TracesSampleRate to 1.0 to capture 100% of transactions for tracing.
                // We recommend adjusting this value in production.
                options.TracesSampleRate = 0.2;
            });

Started happening after trying to upgrade from 5.1.0 - which is the current stable version for me right now

Running DEBUG mode there is no issue, only in release, deployed to a physical device /haven't tried to an emulator)

Today I tried to upgreade to your latest 5.4.0 but the issue remains

Here is the log ( I cannot share my project, but I would imagine a simple .net maui app with the same basic configs will behave the same?)

Process: com.smartdispenser.mobile, PID: 19994
                                                                                                    java.lang.RuntimeException: Unable to create application crc645421042ed1a12fb3.MainApplication: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
                                                                                                    	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7716)
                                                                                                    	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                    	at android.os.Looper.loop(Looper.java:319)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
                                                                                                    Caused by: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
                                                                                                    	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
                                                                                                    	at io.sentry.Sentry.init(Sentry.java:234)
                                                                                                    	at io.sentry.Sentry.init(Sentry.java:167)
                                                                                                    	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
                                                                                                    	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
                                                                                                    	at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
                                                                                                    	at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
                                                                                                    	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
                                                                                                    	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
                                                                                                    	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:230) 
                                                                                                    	at android.os.Looper.loop(Looper.java:319) 
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8919) 
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578) 
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103) 
2025-03-22 05:54:06.261 19994-19994 monodroid-assembly      com.smartdispenser.mobile            W  Shared library 'liblog' not loaded, p/invoke '__android_log_print' may fail
2025-03-22 05:54:06.262 19994-19994 MonoDroid               com.smartdispenser.mobile            I  UNHANDLED EXCEPTION:
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  Java.Lang.RuntimeException: Unable to create application crc645421042ed1a12fb3.MainApplication: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I   ---> Java.Lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Java.Interop.JniEnvironment.StaticMethods.CallStaticVoidMethod(JniObjectReference , JniMethodInfo , JniArgumentValue* )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Java.Interop.JniPeerMembers.JniStaticMethods.InvokeVoidMethod(String , JniArgumentValue* )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Sentry.JavaSdk.Android.Core.SentryAndroid.Init(Context context, IOptionsConfiguration configuration)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Sentry.SentrySdk.InitSentryAndroidSdk(SentryOptions )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Sentry.SentrySdk.InitHub(SentryOptions )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Sentry.SentrySdk.Init(SentryOptions )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Sentry.Maui.Internal.SentryMauiInitializer.Initialize(IServiceProvider )
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Microsoft.Maui.MauiContextExtensions.InitializeAppServices(MauiApp mauiApp)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Microsoft.Maui.Hosting.MauiAppBuilder.Build()
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at SmartDispenser.Lockers.Mobile.Client.MauiProgram.CreateMauiApp()
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at SmartDispenser.Lockers.Mobile.Client.Platforms.Android.MainApplication.CreateMauiApp()
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Microsoft.Maui.MauiApplication.OnCreate()
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Android.App.Application.n_OnCreate(IntPtr jnienv, IntPtr native__this)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V(_JniMarshal_PP_V callback, IntPtr jnienv, IntPtr klazz)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I    --- End of managed Java.Lang.IllegalArgumentException stack trace ---
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:234)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:167)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Handler.dispatchMessage(Handler.java:106)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loopOnce(Looper.java:230)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loop(Looper.java:319)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.main(ActivityThread.java:8919)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at java.lang.reflect.Method.invoke(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I    --- End of managed Java.Lang.IllegalArgumentException stack trace ---
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:234)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:167)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Handler.dispatchMessage(Handler.java:106)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loopOnce(Looper.java:230)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loop(Looper.java:319)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.main(ActivityThread.java:8919)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at java.lang.reflect.Method.invoke(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I     Exception_EndOfInnerExceptionStack
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I    --- End of managed Java.Lang.RuntimeException stack trace ---
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  java.lang.RuntimeException: Unable to create application crc645421042ed1a12fb3.MainApplication: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7716)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Handler.dispatchMessage(Handler.java:106)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loopOnce(Looper.java:230)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loop(Looper.java:319)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.main(ActivityThread.java:8919)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at java.lang.reflect.Method.invoke(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  Caused by: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:234)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:167)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	... 9 more
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I    --- End of managed Java.Lang.RuntimeException stack trace ---
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  java.lang.RuntimeException: Unable to create application crc645421042ed1a12fb3.MainApplication: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7716)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2478)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Handler.dispatchMessage(Handler.java:106)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loopOnce(Looper.java:230)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.os.Looper.loop(Looper.java:319)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.main(ActivityThread.java:8919)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at java.lang.reflect.Method.invoke(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  Caused by: java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK.
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.initConfigurations(Sentry.java:396)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:234)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.Sentry.init(Sentry.java:167)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:93)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at io.sentry.android.core.SentryAndroid.init(SentryAndroid.java:76)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.n_onCreate(Native Method)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at crc6488302ad6e9e4df1a.MauiApplication.onCreate(MauiApplication.java:27)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1316)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7711)
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  	... 9 more
2025-03-22 05:54:06.273 19994-19994 MonoDroid               com.smartdispenser.mobile            I  
2025-03-22 05:54:06.285 19994-19994 Process                 com.smartdispenser.mobile            I  Sending signal. PID: 19994 SI

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Mar 22, 2025
@jamescrosswell
Copy link
Collaborator

Hi @bcaceiro

I cannot share my project, but I would imagine a simple .net maui app with the same basic configs will behave the same?

If you're able to reproduce this in a simple .NET MAUI app that would be a great help. I wasn't able to reproduce this myself though.

@FoggyFinder
Copy link

any updates? how safe to use Sentry > 5.1.0 on Android?

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Mar 25, 2025
@aritchie
Copy link
Collaborator

@FoggyFinder We aren't able to reproduce this. We really need a full reproducible sample to see what may be going on.

@maximebono
Copy link

maximebono commented Mar 28, 2025

@jamescrosswell I've reproduce the crash by adding CommunityToolkit packages :

  • Create new maui app in .NET9 with default template, run in release => works !
  • Add CommunityToolkit run in release => throw the exception "java.lang.IllegalArgumentException: DSN is required. Use empty string or set enabled to false in SentryOptions to disable SDK."
<PackageReference Include="CommunityToolkit.Maui" Version="11.2.0" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="Microsoft.Maui.Controls" Version="9.0.50" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.3" />
<PackageReference Include="Sentry.Maui" Version="5.4.0" />

Hope this help

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Mar 28, 2025
@aritchie
Copy link
Collaborator

aritchie commented Mar 31, 2025

@maximebono I have apps being released to production with Sentry 5.4.0 and both communitytoolkits without this issue. I tried your theory that you noted, but that does not crash with the issue.

To anyone that is in this thread, please post a reproducible & complete sample on github. We can't guess as to what the issue is.

If you are providing additional and new information, please also include the following:
- What environment are you compiling from? Window or Mac? If on windows, have you tried on mac?
- Output of these commands:
dotnet --version
dotnet workload --version
dotnet workload list

  • Are you using either of below? Try setting to false and report if that works
    options.AutoSessionTracking = true;
    options.IsGlobalModeEnabled = true;

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
Status: No status
Status: No status
Development

No branches or pull requests

8 participants