Fenix: [Bug] crash switching to a PDF opened in a private tab

Created on 5 Oct 2020  ·  10Comments  ·  Source: mozilla-mobile/fenix

Firefox for Android kept crashing when I opened a link to a PDF in a private tab then switch to it.

Steps to reproduce

  1. Open https://file-examples.com/index.php/sample-documents-download/sample-pdf-download/ in a regular tab.
  2. Press and hold on the first "Download sample PDF" button, and choose Open link in private tab.
  3. When the purplish alert appears saying New private tab opened, tap Switch.

Expected behavior

Switching to the private tab should show a notification about downloading the PDF, or something. I have Adobe Reader for Android installed.

Actual behavior

Immediate crash. I have sent three crash reports from this Pixel 3. It's also crashing on an older Lenovo Yoga Tab 3 Pro

Device information

  • Android device: Pixel 3 and Lenovo Yoga Tab 3 Pro
  • Fenix version: 81.1.1 (Build #2015764547)
    AC: 57.0.6, bdbd5ccfd
    GV: 81.0-20200917005511
    AS: 61.0.13 on Pixel 3
Download PrivateBrowsing crash engverified 🐞 bug

All 10 comments

I found Settings > About Firefox > Crashes. All four crashes on the Pixel 3 are the same. Here's the contents of one.

f122eec7-7938-4520-8826-670d51b074f2
java.lang.IllegalStateException: FragmentManager has been destroyed
----
java.lang.IllegalStateException: FragmentManager has been destroyed
        at androidx.fragment.app.FragmentManager.ensureExecReady(FragmentManager.java:4)
        at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:2)
        at androidx.fragment.app.BackStackRecord.commitNow(BackStackRecord.java:3)
        at androidx.fragment.app.DialogFragment.showNow(DialogFragment.java:5)
        at mozilla.components.feature.downloads.DownloadsFeature.showDownloadDialog$feature_downloads_release(DownloadsFeature.kt:5)
        at mozilla.components.feature.downloads.DownloadsFeature.processDownload$feature_downloads_release(DownloadsFeature.kt:17)
        at mozilla.components.feature.downloads.DownloadsFeature$start$2$invokeSuspend$$inlined$collect$1.emit(Collect.kt:4)
        at mozilla.components.support.ktx.kotlinx.coroutines.flow.FlowKt$ifChanged$$inlined$filter$1$2.emit(Collect.kt:7)
        at mozilla.components.feature.downloads.DownloadsFeature$start$2$invokeSuspend$$inlined$mapNotNull$1$2.emit(Collect.kt:4)
        at kotlinx.coroutines.flow.FlowKt.emitAllImpl$FlowKt__ChannelsKt(Unknown Source:11)
        at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Unknown Source:11)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:21)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

I cannot reproduce this on latest master.

QA team could you please help us to find the STR? Thanks in advance!

I reproduced this on Nightly https://crash-stats.mozilla.org/report/index/e460a4a6-f226-41dc-8910-f8d3b0201005
(latest Nightly from the google store)

Older bug #8374 '"open link PB mode Fenix" and hit back..."' has a similar crash signature, though that stems from handlecallback. Here Firefox for Android is presumably trying to show some kind of "What to do about this PDF, download it?" dialog in mozilla.components.feature.downloads.DownloadsFeature.showDownloadDialog$feature_downloads_release. My STR still crashes with latest Firefox for Android 81.1.2 (Build #2015767043).

Hi all!
I was able to reproduce the crash following the STR from Comment 0, on the latest Nightly build from 10/6, and on RC 81.1.3 using a Google Pixel (Android 10).

I'll remove the qa:needed flag until further notice.

@skierpage and @Caspy7 the issue should be fixed in the latest nightly, would you mind giving it a try? :)
I also tagged the QA to verify as they have a wide range of the devices. Thanks in advance!

I tested the steps here and can no longer reproduce this issue on the latest nightly build.

Hi, verified as fixed on the latest Nightly Build 201103 using the following devices:
• Google Pixel 3a (Android 11)
• Huawei Mate 20 Lite (Android 10)
• OnePlus A3 (Android 6.0.1)

Thanks @AndiAJ and @Caspy7!

Was this page helpful?
0 / 5 - 0 ratings