brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.76k stars 2.32k forks source link

Crash on VPN dialog show #29039

Closed SergeyZhukovsky closed 1 year ago

SergeyZhukovsky commented 1 year ago

I found that crash in backtrace on a stable 1.49.122 version. It's unknown why that could happen. We need to fix and uplift. Most likely we attempt to show the dialog when an Activity lifecycle came to the end. For verifying just make sure that we still show the vpn dialog

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
        at androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1610)
        at androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java:1650)
        at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:341)
        at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:306)
        at androidx.fragment.app.DialogFragment.show(DialogFragment.java:508)
        at org.chromium.chrome.browser.app.BraveActivity.showVpnCalloutDialog(BraveActivity.java:1163)
        at org.chromium.chrome.browser.app.BraveActivity.finishNativeInitialization(BraveActivity.java:1015)
        at org.chromium.chrome.browser.ChromeTabbedActivity.finishNativeInitialization(ChromeTabbedActivity.java:1029)
        at org.chromium.base.CallbackController$CancelableRunnable.run(CallbackController.java:130)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7815)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1094)

Screenshot_20230313_160230

kjozwiak commented 1 year ago

The above requires 1.49.126 or higher for 1.49.x verification 👍

Uni-verse commented 1 year ago

Tested on 1.49.129 using Samsung GS 21 running Android 13

Opened https://github.com/brave/brave-browser/issues/29255 as a follow up to investigate why VPN dialog is not shown.