Open emile2013 opened 5 years ago
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "bug" or "enhancement" and I will leave it open. Thank you for your contributions.
Hi. Please fill out the issue template since posting just the stack trace is not enough information to know what's going on.
Hi. Please fill out the issue template since posting just the stack trace is not enough information to know what's going on.
Hi,oprisnik. It is just a SIGSEGV(SEGV_MAPERR) crash, happen at first image render in huawei android P devices. It is also exist in fresco 1.11.0.
@emile2013 Is there a way to repro?
@emile2013 Hi,Do you have any solutions?
similar issue, Android 9 ,Huawei P20, Fresco 1.10
com.facebook.imagepipeline.j.a.a is com.facebook.imagepipeline.platform.ArtDecoder .
log :
05-30 14:58:00.894 31298 31520 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 31520 (Fresco_DecodeEx), pid 31298 (com.xxxxxx)
05-30 14:58:00.971 31528 31528 F DEBUG :
05-30 14:58:00.971 31528 31528 F DEBUG : Build fingerprint: 'HUAWEI/EML-AL00/HWEML:9/HUAWEIEML-AL00/187C00R1:user/release-keys'
05-30 14:58:00.971 31528 31528 F DEBUG : Revision: '0'
05-30 14:58:00.971 31528 31528 F DEBUG : ABI: 'arm'
05-30 14:58:00.971 31528 31528 F DEBUG : pid: 31298, tid: 31520, name: Fresco_DecodeEx >>> com.aaaa.bbbbb <<<
05-30 14:58:00.971 31528 31528 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
05-30 14:58:00.971 31528 31528 F DEBUG : Cause: null pointer dereference
05-30 14:58:00.971 31528 31528 F DEBUG : r0 b365c520 r1 00000000 r2 b365d4e0 r3 b365da20
05-30 14:58:00.971 31528 31528 F DEBUG : r4 b365c520 r5 b365da20 r6 e84b1e88 r7 00000000
05-30 14:58:00.971 31528 31528 F DEBUG : r8 00000008 r9 00000000 r10 b3632a40 r11 b365d4e0
05-30 14:58:00.971 31528 31528 F DEBUG : ip 00000368 sp b3b5f998 lr e835a15c pc 00000000
05-30 14:58:01.174 31298 31565 I chatty : uid=10195(com.aaaa.bbbbb) expire 1 line
05-30 14:58:01.204 31528 31528 F DEBUG :
05-30 14:58:01.204 31528 31528 F DEBUG : backtrace:
05-30 14:58:01.204 31528 31528 F DEBUG : #00 pc 00000000
same here
I also meet this question
When are you going to solve this problem? HUAWEI and android P are more and more popular in China.😹
@conncui Do you have solutions about this crash ? I met the same problem and was strugling getting native stacktrace. 大佬有找到原因和解决方法吗
I find two ways to solve this issue. one,use third webp decode(libwebp) and don't use api such api like inBitmap,Bitmap.Compress(WEBP) in Android 9 decode webp two,convert webp to png/bitmap(libwebp),then use system decode,if your code have used api that like Bitmap.Compress(WEBP), you can add some code like this "if OSVERSION != 28 then Bitmap.Compress(WEBP) else ... ".
@fw1088 大佬给个邮箱?
I find two ways to solve this issue. one,use third webp decode(libwebp) and don't use api such api like inBitmap,Bitmap.Compress(WEBP) in Android 9 decode webp two,convert webp to png/bitmap(libwebp),then use system decode,if your code have used api that like Bitmap.Compress(WEBP), you can add some code like this "if OSVERSION != 28 then Bitmap.Compress(WEBP) else ... ".
Do you have scene to reproduce this bug?@fw1088
same issue,any solution?
We can modify the system framework.
I find two ways to solve this issue. one,use third webp decode(libwebp) and don't use api such api like inBitmap,Bitmap.Compress(WEBP) in Android 9 decode webp two,convert webp to png/bitmap(libwebp),then use system decode,if your code have used api that like Bitmap.Compress(WEBP), you can add some code like this "if OSVERSION != 28 then Bitmap.Compress(WEBP) else ... ".
Do you have scene to reproduce this bug?@fw1088
No,you can refer to this issue https://bugs.chromium.org/p/webp/issues/detail?id=419#c1
same issue,any solution?
We can modify the system framework.
same issue,any solution? We can modify the system framework.
Thx! But I didn't use Bitmap.Compress()
with fresco, so if fresco use it inner, how can I solve it?
Hi, we're seeing this issue as well. This is with Fresco 2.2.0.
If this is device specific, should we switch to the Java only Fresco version?
Here are some devices where we're seeing this crash:
met same crash in Glide
Although it is from Glide, also useful for fresco
-- 2 java: 3 android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:756) 4 android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:731) 5 com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Proguard:424) 6 com.bumptech.glide.load.resource.bitmap.Downsampler.decodeFromWrappedStreams(Proguard:243) 7 com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Proguard:176) 8 com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Proguard:134) 9 com.bumptech.glide.load.resource.bitmap.ByteBufferBitmapDecoder.decode(Proguard:31) 10 com.bumptech.glide.load.resource.bitmap.ByteBufferBitmapDecoder.decode(Proguard:15) 11 com.bumptech.glide.load.engine.DecodePath.decodeResourceWithList(Proguard:67) 12 com.bumptech.glide.load.engine.DecodePath.decodeResource(Proguard:52) 13 com.bumptech.glide.load.engine.DecodePath.decode(Proguard:43) 14 com.bumptech.glide.load.engine.LoadPath.loadWithExceptionList(Proguard:56) 15 com.bumptech.glide.load.engine.LoadPath.load(Proguard:42) 16 com.bumptech.glide.load.engine.DecodeJob.runLoadPath(Proguard:457) 17 com.bumptech.glide.load.engine.DecodeJob.decodeFromFetcher(Proguard:450) 18 com.bumptech.glide.load.engine.DecodeJob.decodeFromData(Proguard:436) 19 com.bumptech.glide.load.engine.DecodeJob.decodeFromRetrievedData(Proguard:390)
Hi, we found some native crash on android P with fresco 1.9.0 . crash stack show below:
00 lr 00411fb4 /system/lib/libhwui.so [armeabi-v7a]
java: android.graphics.BitmapFactory.nativeDecodeStream(Native Method) android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:961) android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:908) com.facebook.imagepipeline.platform.ArtDecoder.com.facebook.common.references.CloseableReference decodeStaticImageFromStream(java.io.InputStream,android.graphics.BitmapFactory$Options,android.graphics.Rect)(SourceFile:175) com.facebook.imagepipeline.platform.ArtDecoder.com.facebook.common.references.CloseableReference decodeFromEncodedImage(com.facebook.imagepipeline.image.EncodedImage,android.graphics.Bitmap$Config,android.graphics.Rect)(SourceFile:85) com.facebook.imagepipeline.decoder.DefaultImageDecoder.com.facebook.imagepipeline.image.CloseableStaticBitmap decodeStaticImage(com.facebook.imagepipeline.image.EncodedImage,com.facebook.imagepipeline.common.ImageDecodeOptions)(SourceFile:147) com.facebook.imagepipeline.decoder.DefaultImageDecoder$1.com.facebook.imagepipeline.image.CloseableImage decode(com.facebook.imagepipeline.image.EncodedImage,int,com.facebook.imagepipeline.image.QualityInfo,com.facebook.imagepipeline.common.ImageDecodeOptions)(SourceFile:64) com.facebook.imagepipeline.decoder.DefaultImageDecoder.com.facebook.imagepipeline.image.CloseableImage decode(com.facebook.imagepipeline.image.EncodedImage,int,com.facebook.imagepipeline.image.QualityInfo,com.facebook.imagepipeline.common.ImageDecodeOptions)(SourceFile:119) com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.void doDecode(com.facebook.imagepipeline.image.EncodedImage,int)(SourceFile:254) com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.access$300(SourceFile:113) com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder$1.void run(com.facebook.imagepipeline.image.EncodedImage,int)(SourceFile:152) com.facebook.imagepipeline.producers.JobScheduler.void doJob()(SourceFile:202) com.facebook.imagepipeline.producers.JobScheduler.access$000(SourceFile:22) com.facebook.imagepipeline.producers.JobScheduler$1.void run()(SourceFile:73) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) java.lang.Thread.run(Thread.java:784)