Issue metadata
Sign in to add a comment
|
SkiaRenderer + DDL crashes in ~SkImage_Gpu |
||||||||||||||||||||||||
Issue descriptionI am running poster circle on with SkiaRender + DDL + vulkan on Fuchsia. After a few seconds it reproducibly crashes with the following stack. I am synced to 967d3a9b2ec4 Looks similar to bug 905337 but the workaround applied for that didn't fix this one. #01: pc 0x6a0e119f284c sp 0x42c49a7817e8 (libc.so,0x1684c) #02: sk_abort_no_print() at SkMemory_new_handler.cpp:? #03: GrSingleOwner::enter() at GrContext.cpp:? #04: GrResourceCache::notifyCntReachedZero(GrGpuResource*, unsigned int) at GrResourceCache.cpp:? #05: GrGpuResource::notifyRefCountIsZero() const at GrGpuResource.cpp:? #06: sk_sp<GrTextureProxy>::~sk_sp() at SkGpuBlurUtils.cpp:? #07: SkImage_Gpu::~SkImage_Gpu() at SkImage_Gpu.cpp:? #08: SkRefCntBase::unref() const at paint_canvas_video_renderer.cc:? #09: sk_sp<SkImage>::~sk_sp() at paint_canvas_video_renderer.cc:? #10: base::internal::flat_tree<unsigned int, std::__1::pair<unsigned int, sk_sp<SkImage> >, base::internal::GetKeyFromValuePairFirst<unsigned int, sk_sp<SkImage> >, std::__1::less<void> >::clear() at skia_renderer.cc:? #11: viz::SkiaRenderer::FinishDrawingQuadList() at skia_renderer.cc:? #12: viz::DirectRenderer::DrawRenderPass(viz::RenderPass const*) at direct_renderer.cc:? #13: viz::DirectRenderer::DrawRenderPassAndExecuteCopyRequests(viz::RenderPass*) at direct_renderer.cc:? #14: viz::DirectRenderer::DrawFrame(std::__1::vector<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> >, std::__1::allocator<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> > > >*, float, gfx::Size const&) at direct_renderer.cc:? #15: viz::Display::DrawAndSwap() at display.cc:? #16: viz::DisplayScheduler::DrawAndSwap() at display_scheduler.cc:? #17: viz::DisplayScheduler::OnBeginFrameDeadline() at display_scheduler.cc:? #18: base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) at task_annotator.cc:? #19: base::MessageLoopImpl::RunTask(base::PendingTask*) at message_loop_impl.cc:? #20: base::MessageLoopImpl::DoWork() at message_loop_impl.cc:? #21: base::MessagePumpDefault::Run(base::MessagePump::Delegate*) at message_pump_default.cc:? #22: base::MessageLoopImpl::Run(bool) at message_loop_impl.cc:? #23: base::RunLoop::Run() at run_loop.cc:? #24: base::Thread::Run(base::RunLoop*) at thread.cc:? #25: base::Thread::ThreadMain() at thread.cc:? #26: base::(anonymous namespace)::ThreadFunc(void*) at platform_thread_posix.cc:? #27: pc 0x6a0e119f3606 sp 0x42c49a782fd0 (libc.so,0x17606) #28: pc 0x6a0e11a62a41 sp 0x42c49a782fe0 (libc.so,0x86a41) #29: pc 0 sp 0x42c49a783000
,
Nov 22
The assert message is [262666:1302395349:1122/005906.764152:INFO:GrSingleOwner.h(33)] ../../third_party/skia/include/gpu/../private/GrSingleOwner.h:33: fatal error: "ass ert(fOwner == self || fOwner == kIllegalThreadID)"
,
Nov 22
How robust is the threading support in Fuchsia? Otherwise, seems like a Skia problem? egdaniel@ can you triage appropriately or return to me.
,
Nov 22
I don't think it is a fuchsia issue. Seems like another resource cache issue.
,
Nov 23
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by spang@google.com
, Nov 22