-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash when playing some Animated webp. #1954
Comments
Can reproduce using the URI override in the sample app and then going to the WebP fragment: https://github.com/KeepLearningKeepGoing/LearningNotes/blob/master/10002802_broken.webp?raw=true
@oprisnik is this something that looks familiar to you? We'll most likely need to check for pendingExceptions in libstatic-webp.so |
I don't think I've seen this before, should we show nothing instead for broken WebPs? |
At least it should not crash the app. I think the best is to propagate as a imagepipeline failure to the listeners |
@lambdapioneer yes, it should not crash the app. What is more serious is that it can't be catched. |
I also meet this problem .How to resolve it Please? |
We fixed the crash. It will be handled correctly now. |
Hi, has this been fixed in the latest release? I didn't see it in neither v1.10.0 nor v1.11.0. |
We use GitHub Issues for bugs.
If you have a non-bug question, please ask on Stack Overflow: http://stackoverflow.com/questions/tagged/fresco
--- Please use this template, and delete everything above this line before submitting your issue ---
Description
it can render a few frames , but crash later.
Reproduction
Play the webp -> https://github.com/KeepLearningKeepGoing/LearningNotes/blob/master/10002802_broken.webp
Solution
Additional Information
i got some log output for help.
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: JNI MonitorEnter called with pending exception java.lang.IllegalStateException: Failed to decode frame
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.animated.webp.WebPFrame.nativeRenderFrame(int, int, android.graphics.Bitmap) (WebPFrame.java:-2)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.animated.webp.WebPFrame.renderFrame(int, int, android.graphics.Bitmap) (WebPFrame.java:50)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.imagepipeline.animated.impl.AnimatedDrawableBackendImpl.renderImageSupportsScaling(android.graphics.Canvas, com.facebook.imagepipeline.animated.base.AnimatedImageFrame) (AnimatedDrawableBackendImpl.java:203)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.imagepipeline.animated.impl.AnimatedDrawableBackendImpl.renderFrame(int, android.graphics.Canvas) (AnimatedDrawableBackendImpl.java:177)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.imagepipeline.animated.impl.AnimatedImageCompositor.renderFrame(int, android.graphics.Bitmap) (AnimatedImageCompositor.java:120)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at boolean com.facebook.fresco.animation.bitmap.wrapper.AnimatedDrawableBackendFrameRenderer.renderFrame(int, android.graphics.Bitmap) (AnimatedDrawableBackendFrameRenderer.java:74)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at boolean com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.renderFrameAndCache(int, com.facebook.common.references.CloseableReference, int) (DefaultBitmapFramePreparer.java:175)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at boolean com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.prepareFrameAndCache(int, int) (DefaultBitmapFramePreparer.java:154)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at boolean com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.prepareFrameAndCache(int, int) (DefaultBitmapFramePreparer.java:162)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.run() (DefaultBitmapFramePreparer.java:112)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.common.executors.ConstrainedExecutorService$Worker.run() (ConstrainedExecutorService.java:177)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1113)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:588)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void com.facebook.imagepipeline.core.PriorityThreadFactory$1.run() (PriorityThreadFactory.java:42)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at void java.lang.Thread.run() (Thread.java:818)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410]
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] in call to MonitorEnter
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] from void com.facebook.animated.webp.WebPFrame.nativeRenderFrame(int, int, android.graphics.Bitmap)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] "Thread-7809" prio=5 tid=86 Runnable
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] | group="main" sCount=0 dsCount=0 obj=0x33d2c100 self=0xd7724e00
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] | sysTid=31483 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xc7f7f930
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] | state=R schedstat=( 118803164 71801828 135 ) utm=11 stm=0 core=0 HZ=100
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] | stack=0xc7e7d000-0xc7e7f000 stackSize=1038KB
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] | held mutexes= "mutator lock"(shared held)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #00 pc 0035cd85 /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+116)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #1 pc 0033d753 /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+138)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #2 pc 0024f8f9 /system/lib/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2+760)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #3 pc 0024ff97 /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+54)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #4 pc 000fc033 /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+30)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #5 pc 00100f0f /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+5054)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #6 pc 0010cac3 /system/lib/libart.so (_ZN3art8CheckJNI12MonitorEnterEP7_JNIEnvP8_jobject+370)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #7 pc 000089cb /data/app/com.sohu.qianfan-1/lib/arm/libstatic-webp.so (???)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #8 pc 00008b91 /data/app/com.sohu.qianfan-1/lib/arm/libstatic-webp.so (???)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #9 pc 000ea8c9 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #10 pc 000e61d1 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #11 pc 003eb9e3 /system/lib/libart.so (art_quick_invoke_stub+170)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] native: #12 pc 000ff3a4 [stack:31483] (???)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.animated.webp.WebPFrame.nativeRenderFrame(Native method)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.animated.webp.WebPFrame.renderFrame(WebPFrame.java:50)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.imagepipeline.animated.impl.AnimatedDrawableBackendImpl.renderImageSupportsScaling(AnimatedDrawableBackendImpl.java:203)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] - locked <0x09d071be> (a com.facebook.imagepipeline.animated.impl.AnimatedDrawableBackendImpl)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.imagepipeline.animated.impl.AnimatedDrawableBackendImpl.renderFrame(AnimatedDrawableBackendImpl.java:177)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.imagepipeline.animated.impl.AnimatedImageCompositor.renderFrame(AnimatedImageCompositor.java:120)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.fresco.animation.bitmap.wrapper.AnimatedDrawableBackendFrameRenderer.renderFrame(AnimatedDrawableBackendFrameRenderer.java:74)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.renderFrameAndCache(DefaultBitmapFramePreparer.java:175)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.prepareFrameAndCache(DefaultBitmapFramePreparer.java:154)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.prepareFrameAndCache(DefaultBitmapFramePreparer.java:162)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.fresco.animation.bitmap.preparation.DefaultBitmapFramePreparer$FrameDecodeRunnable.run(DefaultBitmapFramePreparer.java:112)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.common.executors.ConstrainedExecutorService$Worker.run(ConstrainedExecutorService.java:177)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:42)
10-27 16:05:41.425 29538-31483/xx A/art: art/runtime/java_vm_ext.cc:410] at java.lang.Thread.run(Thread.java:818)
The text was updated successfully, but these errors were encountered: