skydoves / landscapist

🌻 A pluggable, highly optimized Jetpack Compose and Kotlin Multiplatform image loading library that fetches and displays network images with Glide, Coil, and Fresco.

Home Page:https://skydoves.github.io/landscapist/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Glide issues for loading a GifDrawable

dantist0 opened this issue · comments

commented

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.isRecycled()' on a null object reference
at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:73)
at android.graphics.MiuiCanvas.throwIfCannotDraw(MiuiCanvas.java:358)
at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:263)
at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:94)
at com.bumptech.glide.load.resource.gif.GifDrawable.draw(GifDrawable.java:291)
at com.skydoves.landscapist.DrawablePainter.onDraw(DrawablePainter.kt:137)
at androidx.compose.ui.graphics.painter.Painter.draw-x_KDEd0(Painter.kt:212)
at androidx.compose.ui.draw.PainterModifierNode.draw(PainterModifier.kt:347)
at androidx.compose.ui.node.LayoutNodeDrawScope.draw-x_KDEd0$ui_release(LayoutNodeDrawScope.kt:92)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:370)
at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:359)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:236)
at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:367)
at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:58)
at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:396)
at androidx.compose.ui.node.NodeCoordinator$invoke$1.invoke(NodeCoordinator.kt:395)
at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2200)
at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:234)
at androidx.compose.runtime.snapshots.SnapshotStateObserver$observeReads$1$1.invoke(SnapshotStateObserver.kt:230)
at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:341)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:230)
at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:120)
at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:395)
at androidx.compose.ui.node.NodeCoordinator.invoke(NodeCoordinator.kt:58)
at androidx.compose.ui.platform.RenderNodeApi29.record(RenderNodeApi29.android.kt:209)
at androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList(RenderNodeLayer.android.kt:301)
at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:1046)
at android.view.View.draw(View.java:23023)
at android.view.View.updateDisplayListIfDirty(View.java:21887)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
2023-05-08 05:15:00.988 31767-31767 AndroidRuntime com...e E at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4526)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4499)
at android.view.View.updateDisplayListIfDirty(View.java:21840)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:534)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:542)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:625)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:4660)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4378)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3489)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2280)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9026)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1144)
at android.view.Choreographer.doCallbacks(Choreographer.java:948)
at android.view.Choreographer.doFrame(Choreographer.java:877)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1129)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8337)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1037)
2023-05-08 05:15:00.993 31767-31767 OOMEventManagerFK com...e D checkEventAndDumpForJE: 0

Hmm, which version did you use previously?

And is this issue related to #280? I just built this with a sample project , and it works well from my side.

commented

previous i used 2.1.12, and this was too. this crash only exist at 2.1.12 and 2.1.13, but hard to reproduce. this happens rare and randomly

commented

this happens usually then i go to another screen

Do you face this issue at a production level?

@dantist0 Would you share how frequently you face this issue? This issue seems to be related to Glide: bumptech/glide#4604

@dantist0 I'm closing this issue for now, because there's nothing much that I can do rn.