Tencent / Tencent/libpag

iOS crash pag::AnimatableProperty<std::__1::shared_ptr<pag::PathData>

Open
#2,076 0 comments 0 reactions 1 assignee View on GitHub

@kevingpqi123 is already working on this.

Since Jan 10, 2024.

Dominant language
HTML
Stars
5.8k
Forks
531
Avg merge
8d 55m
Merged PRs (30d)
17

Description

【版本信息】

4.3.45

【平台信息】

iOS 原生

【实际的情况】

线上友盟收集,暂无复现步骤。

【Demo及附件】

【相关堆栈】

Thread 54 Crashed:
0   libpag                              0x000000010aae9394 pag::AnimatableProperty<std::__1::shared_ptr<pag::PathData> >::getValueAt(long long) + [File.h : 225] 
1   libpag                              0x000000010ab4d584 pag::FeatherMask::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 801] 
2   libpag                              0x000000010ab4d584 pag::FeatherMask::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 801] 
3   libpag                              0x000000010ab53770 pag::MaskModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [shared_ptr.h : 815] 
4   libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
5   libpag                              0x000000010ab5317c pag::BlendModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 185] 
6   libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
7   libpag                              0x000000010ab52410 pag::LayerGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [Graphic.cpp : 192] 
8   libpag                              0x000000010ab5334c pag::ClipModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 215] 
9   libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
10  libpag                              0x000000010ab5317c pag::BlendModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 185] 
11  libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
12  libpag                              0x000000010ab52410 pag::LayerGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [Graphic.cpp : 192] 
13  libpag                              0x000000010ab5334c pag::ClipModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 215] 
14  libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
15  libpag                              0x000000010ab51ee0 pag::MatrixGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [Graphic.cpp : 106] 
16  libpag                              0x000000010ab5334c pag::ClipModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 215] 
17  libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
18  libpag                              0x000000010ab51ee0 pag::MatrixGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [Graphic.cpp : 106] 
19  libpag                              0x000000010ab5334c pag::ClipModifier::applyToGraphic(tgfx::Canvas*, pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>) const + [Modifier.cpp : 215] 
20  libpag                              0x000000010ab528ec pag::ModifierGraphic::draw(tgfx::Canvas*, pag::RenderCache*) const + [shared_ptr.h : 701] 
21  libpag                              0x000000010ab23648 pag::PAGSurface::draw(pag::RenderCache*, std::__1::shared_ptr<pag::Graphic>, pag::BackendSemaphore*, bool) + [shared_ptr.h : 701] 
22  libpag                              0x000000010ab21440 pag::PAGPlayer::flushInternal(pag::BackendSemaphore*) + [PAGPlayer.cpp : 0] 
23  libpag                              0x000000010ab21368 pag::PAGPlayer::flush() + [PAGPlayer.cpp : 0] 
24  libpag                              0x000000010ab06c78 pag::AnimatorListener::onAnimationUpdate(pag::PAGAnimator*) + [PAGAnimator.mm : 121] 
25  libpag                              0x000000010ab1b91c pag::PAGAnimator::onFlush(bool) + [PAGAnimator.cpp : 0] 
26  libpag                              0x000000010ab1c580 std::__1::__function::__func<pag::PAGAnimator::doUpdate(bool)::$_0, std::__1::allocator<pag::PAGAnimator::doUpdate(bool)::$_0>, void ()>::operator()() + [shared_ptr.h : 173] 
27  libpag                              0x000000010abd6b70 tgfx::Task::execute() + [__mutex_base : 94] 
28  libpag                              0x000000010abd6f04 tgfx::TaskGroup::RunLoop(tgfx::TaskGroup*) + [shared_ptr.h : 701] 
29  libpag                              0x000000010abd7920 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*) + [unique_ptr.h : 259] 
30  libsystem_pthread.dylib             0x00000001de0696cc _pthread_start + [ : 148] 

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.