libpag icon indicating copy to clipboard operation
libpag copied to clipboard

iOS crash 反馈

Open piglikeYoung opened this issue 1 year ago • 0 comments

【版本信息】

4.2.100

【平台信息】

iOS 原生

【预期的表现】

目前我们收集到两类 crash 堆栈,iOS 15、16、17 等都有上报

堆栈1

void* std::__1::__thread_proxy[abi:v15006]<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*) (in libpag) (thread:303)
tgfx::TaskGroup::RunLoop(tgfx::TaskGroup*) (in libpag) (TaskGroup.cpp:57)
tgfx::Task::execute() (in libpag) (Task.cpp:92)
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()() (in libpag) (function.h:359)
pag::SequenceReader::readBuffer(long long) (in libpag) (SequenceReader.cpp:29)
pag::VideoReader::onMakeBuffer(long long) (in libpag) (VideoReader.cpp:60)
pag::VideoReader::decodeFrame(long long) (in libpag) (VideoReader.cpp:140)
pag::HardwareDecoder::onDecodeFrame() (in libpag) (HardwareDecoder.mm:0)

堆栈2

pag::PAGSurface::freeCache() (in libpag) (PAGSurface.cpp:56)
pag::PAGSurface::onFreeCache() (in libpag) (PAGSurface.cpp:63)
pag::RenderCache::releaseAll() (in libpag) (RenderCache.cpp:0)
pag::RenderCache::clearAllSequenceCaches() (in libpag) (RenderCache.cpp:597)
std::__1::shared_ptr<pag::SequenceReader>::~shared_ptr[abi:v15006]() (in libpag) (shared_ptr.h:702)
pag::VideoReader::~VideoReader() (in libpag) (VideoReader.cpp:43)
pag::VideoReader::destroyVideoDecoder() (in libpag) (VideoReader.cpp:174)
pag::HardwareDecoder::~HardwareDecoder() (in libpag) (HardwareDecoder.mm:32)
pag::HardwareDecoder::~HardwareDecoder() (in libpag) (HardwareDecoder.mm:35)

我们 APP 的堆栈还出现了 handlerMemoryWarning,我们在收到 OOM 后会调用 SDK freeCache 方法

  1. 请问这样使用是否有问题?
  2. 是否有需要先调用 stop 再调用 freeCache
@objc private func handlerMemoryWarning() {
    // 收到 OOM
    freeCache()
}

piglikeYoung avatar Jan 19 '24 07:01 piglikeYoung