panpf / sketch

Sketch is an image loading library designed for Compose Multiplatform and Android View. It is powerful and rich in functions. In addition to basic functions, it also supports GIF, SVG, video thumbnails, Exif Orientation, etc.
Apache License 2.0
2k stars 307 forks source link

#ImageRegionDecodeThread2 SIGSEGV(SEGV_MAPERR) #159

Closed gydhy8 closed 1 year ago

gydhy8 commented 2 years ago

作者您好,我们通过bugly收集到如下崩溃信息: pc 0000000000266de0 /system/lib64/libhwui.so (SkWebpCodec::onGetPixels(SkImageInfo const&, void, unsigned long, SkCodec::Options const&, int)+2624) [arm64-v8a::3076e3c0c8946614eb4cf0de8ab34128]

pc 000000000025497c /system/lib64/libhwui.so (SkCodec::getPixels(SkImageInfo const&, void, unsigned long, SkCodec::Options const)+596) [arm64-v8a::3076e3c0c8946614eb4cf0de8ab34128]

pc 0000000000265898 /system/lib64/libhwui.so (SkWebpAdapterCodec::onGetAndroidPixels(SkImageInfo const&, void*, unsigned long, SkAndroidCodec::AndroidOptions const&)+64) [arm64-v8a::3076e3c0c8946614eb4cf0de8ab34128]

pc 000000000024fa74 /system/lib64/libhwui.so (SkAndroidCodec::getAndroidPixels(SkImageInfo const&, void, unsigned long, SkAndroidCodec::AndroidOptions const)+580) [arm64-v8a::3076e3c0c8946614eb4cf0de8ab34128]

pc 000000000024cd18 /system/lib64/libhwui.so (SkBitmapRegionCodec::decodeRegion(SkBitmap, SkBRDAllocator, SkIRect const&, int, SkColorType, bool, sk_sp)+1240) [arm64-v8a::3076e3c0c8946614eb4cf0de8ab34128]

pc 0000000000198d18 /system/lib64/libandroid_runtime.so [arm64-v8a::f5c3fe4a4831a0a632ec334882a9fc8e]

pc 0000000000008c94 /system/framework/arm64/boot-framework.oat (oatdata+31892) [arm64-v8a::d31f0d4b0dd9e6aefec49e6b11cbc4bf]

java: android.graphics.BitmapRegionDecoder.decodeRegion(BitmapRegionDecoder.java:194) me.panpf.sketch.zoom.block.g.b(ImageRegionDecoder.java:2) me.panpf.sketch.zoom.block.f.b(DecodeHandler.java:19) me.panpf.sketch.zoom.block.f.handleMessage(DecodeHandler.java:4) android.os.Handler.dispatchMessage(Handler.java:106) android.os.Looper.loop(Looper.java:224) android.os.HandlerThread.run(HandlerThread.java:65)

查看历史issue:#133,跟这个情况类似,不知道3.0版本是否已经解决?十分期待您的回复! 当前sdk版本是:2.7.1 常见崩溃机型信息如下:

系统版本:Android 9,level 28 ROM:vivo/FUNTOUCH CPU架构:arm64-v8a 机型:V1901

panpf commented 2 years ago

是否能够稳定复现?如果可以的话列出复现步骤及环境我试着复现一下?

另外从提供的信息中看不出具体的错误原因,但猜测跟 Sketch 相关的错误只可能是块的大小,3.0 版本重构了块的计算规则,如果能够稳定复现,你可以用 3.0 版本试试

gydhy8 commented 2 years ago

抱歉现在才回复,我们有个伙伴通过远程真机(v1901)可以稳定复现,复现步骤:点击社区图片查看大图,很容易崩溃 目前在尝试接入3.0版,由于api改动较多,代码改动较大,还在进行中,等接完再验证下

panpf commented 2 years ago

嗯,可以进 QQ 群进一步沟通

gydhy8 commented 2 years ago

QQ群号是?

panpf commented 2 years ago

529630740

liuling07 commented 11 months ago

抱歉现在才回复,我们有个伙伴通过远程真机(v1901)可以稳定复现,复现步骤:点击社区图片查看大图,很容易崩溃 目前在尝试接入3.0版,由于api改动较多,代码改动较大,还在进行中,等接完再验证下

我们也有同样的问题。请问下你们接入下接入新版后这个问题有还有上报吗?

panpf commented 11 months ago

抱歉现在才回复,我们有个伙伴通过远程真机(v1901)可以稳定复现,复现步骤:点击社区图片查看大图,很容易崩溃 目前在尝试接入3.0版,由于api改动较多,代码改动较大,还在进行中,等接完再验证下

我们也有同样的问题。请问下你们接入下接入新版后这个问题有还有上报吗?

他们没有再报告过这个问题,也不知道升没升级。

3.* 版本这部分做过优化以及异常捕获,应该不会再造成崩溃

另外我也在积极开发 Zoom 的单独库 https://github.com/panpf/zoomimage 支持 view 和 compose 以及其它图片加载库,可以关注一下,未来一到两周内将会发布 alpha 版

panpf commented 9 months ago

单独的 zoomimage ( https://github.com/panpf/zoomimage )库来了,支持 compose 和 view,两个版本逻辑和体验完全一致

新的 zoomimage 库在 sketch-zoom 的基础上完全重构,用户体验全面提升,除修复了一些 bug 之外还新支持了子采样碎片的动画和清晰度渐变以及支持 glide、picasso、coil、等图片加载器

目前已经到了公开测试的 beta 阶段,欢迎到 release 页面下载 APK 体验效果