mozilla-mobile / fenix

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
https://github.com/mozilla-mobile/firefox-android
Mozilla Public License 2.0
6.47k stars 1.27k forks source link

[Bug]: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.isRecycled()' on a null object reference #24795

Closed sv-ohorvath closed 2 years ago

sv-ohorvath commented 2 years ago

Steps to reproduce

  1. Open a clean install
  2. Open a url.

Expected behaviour

The page is loading.

Actual behaviour

App crashed. Didn't reproduce manually yet. Caught by automation tests.

Device name

Pixel 3

Android version

Android 11

Firefox release type

Firefox Nightly

Firefox version

100.0a1

Device logs

You can view the test logs here: https://console.firebase.google.com/project/moz-fenix/testlab/histories/bh.66b7091e15d53d45/matrices/5999639850219991053/executions/bs.d614c7363c27fe1e/testcases/1/logs

Or attached: logcat.txt

04-14 05:22:28.650: D/AndroidRuntime(2240): --------- beginning of crash 04-14 05:22:28.655: E/AndroidRuntime(2240): FATAL EXCEPTION: main 04-14 05:22:28.655: E/AndroidRuntime(2240): Process: com.android.systemui, PID: 2240 04-14 05:22:28.655: E/AndroidRuntime(2240): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.isRecycled()' on a null object reference 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:61) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:226) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:98) 04-14 05:22:28.655: E/AndroidRuntime(2240): at com.android.systemui.statusbar.phone.ShadowKeyDrawable.draw(ShadowKeyDrawable.java:88) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.graphics.drawable.LayerDrawable.draw(LayerDrawable.java:1011) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.widget.ImageView.onDraw(ImageView.java:1360) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.draw(View.java:20207) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19082) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.draw(View.java:19935) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.drawChild(ViewGroup.java:4333) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19073) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.draw(View.java:19935) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.drawChild(ViewGroup.java:4333) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.draw(View.java:20210) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19082) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.View.updateDisplayListIfDirty(View.java:19042) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewRootImpl.draw(ViewRootImpl.java:3312) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3116) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2485) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7184) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.Choreographer.doCallbacks(Choreographer.java:761) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.Choreographer.doFrame(Choreographer.java:696) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.os.Handler.handleCallback(Handler.java:873) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.os.Handler.dispatchMessage(Handler.java:99) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.os.Looper.loop(Looper.java:193) 04-14 05:22:28.655: E/AndroidRuntime(2240): at android.app.ActivityThread.main(ActivityThread.java:6669) 04-14 05:22:28.655: E/AndroidRuntime(2240): at java.lang.reflect.Method.invoke(Native Method) 04-14 05:22:28.655: E/AndroidRuntime(2240): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 04-14 05:22:28.655: E/AndroidRuntime(2240): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Additional information

No response

┆Issue is synchronized with this Jira Task

Mugurell commented 2 years ago

@sv-ohorvath Is this still an issue?

sv-ohorvath commented 2 years ago

No, I'll close it as it hasn't come up since April. All related reports have been closed: https://github.com/mozilla-mobile/fenix/issues?q=is%3Aissue+Attempt+to+invoke+virtual+method+%27boolean+android.graphics.Bitmap.isRecycled%28%29%27+on+a+null+object+reference+is%3Aclosed