New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 907694 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 905337
Owner:
Last visit > 30 days ago
Closed: Nov 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug



Sign in to add a comment

SkiaRenderer + DDL crashes in ~SkImage_Gpu

Project Member Reported by spang@google.com, Nov 22

Issue description

I 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


 
Summary: SkiaRenderer + DDL crashes in ~SkImage_Gpu (was: SkiaRenderer + DDL crashes in )
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)"        
Components: Internals>Skia>Compositing
Owner: egdaniel@chromium.org
How robust is the threading support in Fuchsia? Otherwise, seems like a Skia problem?

egdaniel@ can you triage appropriately or return to me.
I don't think it is a fuchsia issue. Seems like another resource cache issue.
Mergedinto: 905337
Status: Duplicate (was: Untriaged)

Sign in to add a comment