Tencent / libpag

The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.
https://pag.art
Other
4.7k stars 433 forks source link

iOS crash #2197

Open weidongjiang opened 1 month ago

weidongjiang commented 1 month ago

【版本信息】

4.2.55

【平台信息】

iOS 原生

【实际的情况】

在快速滑动的列表中容易复现,附件中的资源为播放复现资源。

【Demo及附件】

170558345372194.pag.zip

【crash 堆栈】

Thread 70 Crashed:
0   libpag                              0x0000000117bd89dc GetCoeffsFast + [ : 472] 
1   libpag                              0x0000000117bd8a80 GetCoeffsFast + [ : 636] 
2   libpag                              0x0000000117bd80b8 VP8DecodeMB + [ : 764] 
3   libpag                              0x0000000117bd833c VP8Decode + [ : 228] 
4   libpag                              0x0000000117bdc2b8 DecodeInto + [ : 300] 
5   libpag                              0x0000000117bdc4c8 WebPDecode + [ : 244] 
6   libpag                              0x0000000117bd04f4 tgfx::WebpCodec::readPixels(tgfx::ImageInfo const&, void*) const + [WebpCodec.cpp : 109] 
7   libpag                              0x0000000117b24a88 tgfx::ImageCodec::onMakeBuffer(bool) const + [ImageCodec.cpp : 0] 
8   libpag                              0x0000000117b27900 std::__1::__function::__func<tgfx::ImageGeneratorTask::ImageGeneratorTask(std::__1::shared_ptr<tgfx::ImageGenerator>, bool)::$_0, std::__1::allocator<tgfx::ImageGeneratorTask::ImageGeneratorTask(std::__1::shared_ptr<tgfx::ImageGenerator>, bool)::$_0>, void ()>::operator()() + [shared_ptr.h : 869] 
9   libpag                              0x0000000117ba8dc0 tgfx::Task::execute() + [__mutex_base : 90] 
10  libpag                              0x0000000117ba9290 tgfx::TaskGroup::RunLoop(tgfx::TaskGroup*) + [shared_ptr.h : 958] 
11  libpag                              0x0000000117ba9d14 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(tgfx::TaskGroup*), tgfx::TaskGroup*> >(void*) + [tuple : 191] 
12  libsystem_pthread.dylib             0x00000002092104d4 _pthread_start + [ : 136] 
kevingpqi123 commented 1 month ago

4.2.55 是比较早期的版本,建议升级至最新版本测试,如 4.2.110 或 4.3.49

weidongjiang commented 1 month ago

4.2.55 是比较早期的版本,建议升级至最新版本测试,如 4.2.110 或 4.3.49

已经尝试升级过每一个最新版本,线上分流验证新版本的稳定性,表现不是很好,我们就一直没有升上去。猜测pag在17系统,列表的快速滑动中容易复现。