We are seeing a crash in production when the app resumes while the Salesforce SDK user session is logging out.
The crash happens in MainActivity during activity resume.
Stack Trace
Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.example.sf/com.example.sf.MainActivity}: com.salesforce.androidsdk.rest.ClientManager$AccountInfoNotFoundException: User is logging out
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:6078)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:6121)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:80)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:63)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:174)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:106)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:85)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3116)
at android.os.Handler.dispatchMessage(Handler.java:115)
at android.os.Looper.loopOnce(Looper.java:298)
at android.os.Looper.loop(Looper.java:408)
at android.app.ActivityThread.main(ActivityThread.java:9964)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074)
...
Expected Behavior
The SDK should gracefully handle the activity resume while logout is in progress instead of throwing a fatal exception.
Actual Behavior
The app crashes with:
ClientManager$AccountInfoNotFoundException: User is logging out
Steps to Reproduce
Currently difficult to reproduce consistently, but it appears to happen when:
User session/logout is triggered
App/activity resumes during the logout process
MainActivity attempts to access Salesforce user/session information
Environment
Salesforce Mobile SDK Android version: 13.2.0
React Native Version: 0.81.5
Android version: Android 16
Kotlin/Java: 2.1.20
App target SDK: 36
We are seeing a crash in production when the app resumes while the Salesforce SDK user session is logging out.
The crash happens in MainActivity during activity resume.
Stack Trace
Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.example.sf/com.example.sf.MainActivity}: com.salesforce.androidsdk.rest.ClientManager$AccountInfoNotFoundException: User is logging out
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:6078)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:6121)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:80)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:63)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:174)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:106)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:85)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3116)
at android.os.Handler.dispatchMessage(Handler.java:115)
at android.os.Looper.loopOnce(Looper.java:298)
at android.os.Looper.loop(Looper.java:408)
at android.app.ActivityThread.main(ActivityThread.java:9964)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074)
...
Expected Behavior
The SDK should gracefully handle the activity resume while logout is in progress instead of throwing a fatal exception.
Actual Behavior
The app crashes with:
ClientManager$AccountInfoNotFoundException: User is logging out
Steps to Reproduce
Currently difficult to reproduce consistently, but it appears to happen when:
User session/logout is triggered
App/activity resumes during the logout process
MainActivity attempts to access Salesforce user/session information
Environment
Salesforce Mobile SDK Android version: 13.2.0
React Native Version: 0.81.5
Android version: Android 16
Kotlin/Java: 2.1.20
App target SDK: 36