dotnet / dotnet/maui

WebAuthenticatorIntermediateActivity.onResume Still Crashes When Passed a Null Value

Open
#32,000 5 comments 2 reactions 0 assignees View on GitHub
area-essentials-webauth platform/android t/bug
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 14h
Merged PRs (30d)
296

Description

### Description

We looked at the two closed issues, and they seem the same, so I don't think it's fixed yet in 9.0.110

### Steps to Reproduce

_No response_

### Link to public reproduction project repository

_No response_

### Version with bug

9.0.110 SR11

### Is this a regression from previous behavior?

Not sure, did not test other versions

### Last version that worked well

_No response_

### Affected platforms

Android

### Affected platform versions

_No response_

### Did you find any workaround?

No

### Relevant log output

```shell
Android: 13
Android Build: OSM1.180201.031
Manufacturer: LGE
Model: Nexus 5X
CrashReporter Key:
Start Date: 2025-10-15T01:36:58.657Z
Date: 2025-10-15T01:39:48.489Z

Xamarin Exception Stack:
Java.Lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData(android.content.Context)' on a null object reference
at Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod(JniObjectReference instance, JniObjectReference type, JniMethodInfo method, JniArgumentValue* args)
at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters)
at Android.Content.ContextWrapper.StartActivity(Intent intent)
at Microsoft.Maui.Authentication.WebAuthenticatorIntermediateActivity.OnResume()
at Android.App.Activity.n_OnResume(IntPtr jnienv, IntPtr native__this)
at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V(_JniMarshal_PP_V callback, IntPtr jnienv, IntPtr klazz)
at java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData(android.content.Context)' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1832)
at android.app.Activity.startActivityForResult(Activity.java:5471)
at android.app.Activity.startActivityForResult(Activity.java:5429)
at android.app.Activity.startActivity(Activity.java:5927)
at android.app.Activity.startActivity(Activity.java:5894)
at crc6468b6408a11370c2f.WebAuthenticatorIntermediateActivity.n_onResume(Native Method)
at crc6468b6408a11370c2f.WebAuthenticatorIntermediateActivity.onResume(WebAuthenticatorIntermediateActivity.java:38)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1564)
at android.app.Activity.performResume(Activity.java:8437)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4763)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4806)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:54)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Thread 2:
0 dalvik.system.VMStack.getThreadStackTrace(VMStack.java:-2)
1 java.lang.Thread.getStackTrace(Thread.java:1841)
2 java.lang.Thread.getAllStackTraces(Thread.java:1909)
3 com.microsoft.appcenter.crashes.Crashes.saveUncaughtException(Crashes.java:1158)
4 com.microsoft.appcenter.crashes.WrapperSdkExceptionManager.saveWrapperException(WrapperSdkExceptionManager.java:58)
5 crc6468b6408a11370c2f.WebAuthenticatorIntermediateActivity.n_onResume(WebAuthenticatorIntermediateActivity.java:-2)
6 crc6468b6408a11370c2f.WebAuthenticatorIntermediateActivity.onResume(WebAuthenticatorIntermediateActivity.java:38)
7 android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1564)
8 android.app.Activity.performResume(Activity.java:8437)
9 android.app.ActivityThread.performResumeActivity(ActivityThread.java:4763)
10 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4806)
11 android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:54)
12 android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
13 android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
14 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
15 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
16 android.os.Handler.dispatchMessage(Handler.java:106)
17 android.os.Looper.loopOnce(Looper.java:201)
18 android.os.Looper.loop(Looper.java:288)
19 android.app.ActivityThread.main(ActivityThread.java:7872)
20 java.lang.reflect.Method.invoke(Method.java:-2)
21 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
22 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
```

Contributor guide

Open the contributing guide

Research direction

Start by reading WebAuthenticatorIntermediateActivity.OnResume and trace the null Intent path shown in the Android stack trace. Use the reported Android 13 environment and version 9.0.110 SR11 to investigate the crash; done means resuming the activity with a null value no longer causes the reported NullPointerException.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, csharp
Domain
authentication, mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.